Method and system for providing user interface for electronic program guide

ABSTRACT

A method and system of providing a user interface for presenting television programming schedule data on a display. The schedule data is organized in a data plane comprising data cells identifying the items of schedule data, such as the titles of the television programs. The method involves presenting a highlight cell or cursor at a fixed position on the display such that a first data cell is at a concurrent position with the highlight cell, and allowing the data plane to scroll on the display in at least one direction such that all or part of the first data cell moves out of concurrent position with the highlight cell and a second data cell or part thereof moves into concurrent position with the highlight cell. This fixed position highlight cell thus remains stationary while the data plane or electronic program guide scrid moves, making it easier for viewers to peruse the selections in the data plane without moving their eyes substantially. The highlight cell is preferably in a substantially central location on the display.

[0001] This application is a continuation-in-part of U.S. applicationSer. No. 09/018,541, filed Feb. 4, 1998, now pending.

RELATED APPLICATIONS

[0002] The present application is related to the following commonlyowned applications:

[0003] Application Ser. No. ______, filed Jun. 24, 1998, titled “Methodand System for Providing Selectable Programming in a Multi-Screen Mode,”attorney docket no. 3063/13;

[0004] Application Ser. No. ______, filed Jun. 24, 1998, titled “MethodAnd System For Navigating Through Content In An Organized AndCategorized Fashion,” attorney docket no. 3063/15A;

[0005] Application Ser. No. ______, filed Jun. 24, 1998, titled “Methodand System for Providing Dynamically Changing Programming Categories,”attorney docket no. 3063/22;

[0006] All of the above applications as well as application Ser. No.09/018,541 are hereby incorporated by reference into this application.

BACKGROUND OF THE INVENTION

[0007] This invention is directed to a method and system for providingcontent in an organized and categorized manner. In particular, thisinvention is directed to a method and system for delivering televisionprogramming which is categorized in domains and for deliveringnavigational tools which provide information about and access tomultiple channels or programs. Users can navigate through the domains,tools, and channels with a feeling of three dimensional movement.

[0008] In the early days of television, viewers were offered fewchannels and a limited number of programs. Indeed, over-the-airtelevision broadcasting in any given region was, and still is, limitedto only about half of the thirteen VHF channels and several UHFchannels. With limited channels and programming, viewers had littledifficulty choosing what to watch at a given time by simply switchingfrom one channel to the next until a desired program was presented.

[0009] The advent of cable and satellite television broadcast systemsincreased the number of channels being delivered. Presently, manyprogramming providers, whether using cable, microwave, satellite, or thelike, provide upwards of 60 to 100 channels of programming at any time.As with over-the-air broadcasting, the channels are arranged linearly innumeric order, e.g., from channel 1 through channel 99. Viewers changechannels or “channel surf” by either moving from channel to channel inlinear fashion or by selecting a specific channel by number and jumpingdirectly from another channel to that channel.

[0010] The increased channel capacity of newer systems has provided theopportunity and need to offer a greater number and variety ofprogramming of different types. For example, not only are there anincreased number of conventional television programs such as situationcomedies, dramas, game shows, and the like, but television now providesa proliferation of talk shows, cooking shows, music videos, shoppingprograms, movies, and more. Furthermore, entire channels are devoted toshowing only programming of a specific category or group, such as moviechannels, comedy channels, cooking channels, sports channels, shoppingchannels, etc. Cable and satellite system operators offer some of thesechannels as part of a “base” subscription package, and offer otherchannels, such as Home Box Office or Showtime, only for a premium.Additional channels offer programs on a pay-per-view basis.

[0011] With the increased number of channels and programs offered bycable and satellite systems, it becomes more difficult for viewers toidentify the programming choices at any time by channel surfing. Thetime taken to move from channel to channel, wait at each channel todetermine what program is on, and decide whether to watch the programseriously cuts down viewing time once a program is selected. Inaddition, the viewer must remember what program is playing on eachchannel in order to decide what to watch and return to a prior channelif desired. Finally, this type of channel surfing makes viewing by otherviewers a jumpy, disconcerting, and generally unpleasant experience.

[0012] New technological developments such as digital video and highdefinition television promise to dramatically increase the number ofchannels available. Television broadcasting systems of the near futurewill likely have 500 or even 1000 channels available for viewing at anygiven time. Interactive services, including video on demand and Internetor on-line services provide even more potentially available content fordistribution over television broadcast systems. The problems describedabove associated with channel surfing through a more limited number ofchannels will clearly become exponentially more serious, to the pointwhere conventional channel surfing techniques become entirely unusable.

[0013] Thus, there is a need for a new system for organizing andnavigating through television channels and programs. The presentinvention provides such a system. Furthermore, with such a largequantity of programming content available to viewers, it is desirable toorganize the content in a manner that is intuitive and provides forhighly efficient viewing by the viewing audience. The present inventionprovides a viewing audience with content organized and presented tofacilitate navigation through the content in an efficient and intuitivemanner.

SUMMARY OF THE INVENTION

[0014] It is an object of the present invention to solve thedeficiencies noted above in current television programming delivery andselection.

[0015] It is another object of the present invention to provide aninterface for television program selection that makes the process ofselecting and viewing programs non-intimidating, pleasant, andentertaining.

[0016] It is another object of the invention to provide a navigationsystem advantageous for use with various types of data including on-lineservices over the Internet, kiosks or information booths, Internetbrowsers, as well as conventional television programming or movies. Sucha navigation system provides an easy transition from today's limitedviewing choices to the unlimited pallet of digital television, toencourage access to a maximum number of relevant program offerings, andto remove the fear, uncertainty and intimidation factors from digitaltelevision.

[0017] It is another object of the invention to provide viewers with newoptions for obtaining information and navigating through the manychannels provided for viewing.

[0018] It is another object of the invention to provide viewers withmore options for navigating through the information provided.

[0019] These and other objects are provided by a system and method fordelivering content that is organized to allow a viewer to access desiredprogramming in an orderly fashion and which provides viewers with afeeling of three dimensional movement while navigating through contentchoices. The method involves categorizing the content into a pluralityof domains according to related subject matter. Example domains includetelevision, movies, shopping, cooking, sports, local, kids and the like.A plurality of navigational tools are provided which each offerinformation about a variety of content choices in a given domain. Sometools also provide access to the content choices; that is, allow usersto move from the tool to the display of the content choice. The toolsare, for example, a host tool, where a “host” gives a tour of thecontent available in a given domain, a multiscreen browser whichdisplays audiovisual representations of the content choices, and anintelligent program guide which scrolls the content choices for a giventime period. The tools are generally ordered to correspond to thecognitive abilities of viewers, with tools ranging from the simple hosttool which presents preselected choices to a custom tool which allowsviewers to program viewing selections and parameters.

[0020] When the system is applied to a television environment, thetelevision programming originates at a head end, is organized andcategorized into domains, tools and channels, and is processed fordistribution through cable or another type of wired or wirelessbroadcast distribution. At the user locations, a set top box and remotecontrol are provided. The set top box includes appropriatedemultiplexing and decoding circuitry in order to develop signalsplayable by a television receiver. The playable signals are then outputto the television set for display. The remote control contains specialbuttons for navigating between domains and tools, and for performingother advantageous functions such as tagging programs for later viewing.

BRIEF DESCRIPTION OF THE DRAWINGS

[0021] For a fuller understanding of the invention, reference is made tothe following description taken in connection with the accompanyingdrawings, in which:

[0022]FIG. 1 is a pictorial representation of a user viewing content inaccordance with the present system illustrating a plurality of tools anddomains;

[0023]FIG. 2 is a pictorial representation similar to FIG. 1 showing auser navigating through channels within the television domain andchannel tool;

[0024]FIG. 3 is a schematic representation of a television screenincluding a plurality of hot-spots;

[0025]FIGS. 4A and 4B are elevational views of two sides of a remotecontrol designed in accordance with the present invention;

[0026]FIG. 4C is a back and right side perspective view of an alternateembodiment of a remote control designed in accordance with the presentinvention;

[0027]FIG. 4D is a back side elevational view thereof;

[0028]FIG. 4E is a front and right side perspective view thereof;

[0029]FIG. 4F is a front side elevational view thereof;

[0030]FIG. 5 is an exemplary two dimensional map of tools versusdomains;

[0031]FIG. 6 is an exemplary three dimensional map illustrating thethird dimension of the television domain of the map of FIG. 5;

[0032]FIG. 7 is a screen display of a map listing tools along a firstaxis and domains along a second axis;

[0033]FIG. 8 is a sample tool screen illustrating common tool screenelements used in one embodiment of the present invention;

[0034]FIG. 9 is a flow chart showing the process of providingtransitional segments when moving between domains and tools;

[0035] FIGS. 10A-10H are a sequence of screen displays showing atransition between domains in accordance with the flow chart in FIG. 11;

[0036] FIGS. 11A-11H are a sequence of screen displays showing atransition between tools in accordance with the flow chart in FIG. 11;

[0037]FIG. 12 is an exemplary illustration of an exemplary screen in thehost tool;

[0038]FIG. 13 is a flow chart showing the process of navigating aroundthe host tool;

[0039]FIG. 14 is a flow chart showing the process of displaying eventsin accordance with one preferred embodiment of the present invention;

[0040]FIG. 15 is an illustration of an exemplary screen in the multiscreen browser tool;

[0041] FIGS. 16A-16B contain a flow chart showing the process ofcreating and navigating around the multiscreen browser tool inaccordance with one embodiment of the present invention;

[0042]FIG. 17 shows a video source and grid overlay for the multiscreenbrowser tool of one embodiment of the present invention;

[0043]FIGS. 18 and 19 contain flow charts showing the processes ofgenerating a tag edit menu and tagging programs or channels for laterviewing;

[0044]FIG. 20 is an exemplary tag edit menu generated and used accordingto the processes shown in FIGS. 18 and 19;

[0045]FIG. 21 is a diagrammatic illustration in top plan view of a dataplane approach to an intelligent program guide with a lens transposedthereon;

[0046]FIG. 22 is a diagrammatic illustration in isometric view of a dataplane approach to an intelligent program guide with a viewer's sightpath through a lens illustrated;

[0047] FIGS. 23A-23C illustrate a first embodiment of a sequence ofscreens in the intelligent program guide showing the handling ofprogramming that is longer than one half (½) hour;

[0048] FIGS. 24A-24C illustrate a second embodiment of a sequence ofscreens in the intelligent program guide showing the handling ofprogramming that is longer than one half (½) hour;

[0049]FIG. 25 is a flow chart showing the process of generating andnavigating through the intelligent program guide tool in accordance withone embodiment of the present invention;

[0050]FIGS. 26 and 27 contain flow charts showing the process of movingthe program guide grid in the intelligent program guide tool;

[0051]FIG. 28 is a flow chart showing the process of presenting apicture-in-graphicscell in the intelligent program guide tool of oneembodiment of the present invention;

[0052]FIG. 29 is a flow chart showing the process of navigating andmaking selections in a pick menu in the intelligent program guide;

[0053]FIGS. 30 and 31 show exemplary screens for the intelligent programguide tool for specific categories and domains;

[0054] FIGS. 32A-32D contain flow charts showing the process ofnavigating within the channel tool of one embodiment of the presentinvention;

[0055]FIG. 33 is an exemplary screen in the channel tool with aninformational banner displayed in full;

[0056]FIG. 34 is an exemplary screen in the custom tool;

[0057] FIGS. 35A-35B contain flow charts showing the process ofselecting and storing favorite channels in the custom tool;

[0058] FIGS. 36A-36B contain flow charts showing the process of settingblocked channels and programs in the custom tool;

[0059] FIGS. 37A-37C illustrate exemplary channel rings with currentdata pointers for the host, MSB and viewing tools in the televisiondomain;

[0060] FIGS. 38A-38C illustrate exemplary channel rings with currentdata pointers for the custom, IPG and information tools in thetelevision domain;

[0061] FIGS. 39A-39B illustrate exemplary channel rings with currentdata pointers, sorted for news and blocked for adult content in theviewing tool and IPG in the television domain; and

[0062]FIG. 40 is an exemplary two dimensional map illustrating policiesfor context sensitive switching.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0063] The preferred embodiments of the present invention describedbelow illustrate the invention as applied to television programming.While television programming is a preferred application of the presentinvention, all types of content are contemplated within the scope of theinvention. For example, the present invention may be applied to contentprovided over the Internet by on-line services, other communicationnetworks, in kiosks or other information booths, by Internet browsingsoftware, etc. Thus, the terms programming and content are used togenerally describe all types of audio and video information as well asdigital data.

Conceptual Overview of Navigational System

[0064] In accordance with the present invention, a navigational systemis provided in which programming to be distributed is categorized andorganized to facilitate navigation by viewers through the programming.The full set of available programming is organized into a number ofdomains, each of which represents some categorical class or businessunit of programming. Examples of domains include television, movies,local programming, sports, and others. Each of the domains may befurther organized into more particular categories of programmingspecific to that domain. For example, the television domain may bebroken into categories such as news, comedy, drama, etc., eachrepresenting a type of program available in the television domain.

[0065] In addition to organizing programming into domains, thenavigational system of the present invention provides a number ofnavigation tools to viewers. The navigation tools provide current orfuture programming choices to viewers through different user interfaces.The specific programming choices made available depend upon the toolbeing used and the viewer's current domain and category. Some toolsprovide a limited number of preselected choices, while other toolspresent all the programming choices and allow viewers to narrow thechoices by selecting certain categories. For example, if a viewer isusing a tool in the television domain and the viewer selects the comedycategory, the tool will present program choices related to televisioncomedy programs. The viewer can select one of the program choices forviewing and, if the selected program is currently available, theselected program is presented to the viewer. If the viewer changes tothe movies domain, the tool will present a choice of movies availablefor viewing.

[0066]FIGS. 1 and 2 pictorially illustrate the mental impression a userreceives when navigating through the navigational system of the presentsystem. For ease of illustration, the example of FIG. 1 illustrates onlythree domains 10: television, movies, and local programming. The domains10 are arranged in a circle because they are sequentially accessible bythe viewer in a looped configuration. That is, the viewer can move fromthe television domain to the movies domain to the local domain and thenback to the television domain. Each time the viewer changes domainsalong the loop, a perception of moving around the circle is realized.The navigational system provides transitional segments, described below,when moving between domains to enhance the viewer's feeling of motionwhen navigating between domains.

[0067] As shown in FIG. 1, a series of tools 12 are illustrated arrangedalong a radius of the domain circle. Although the tools 12 are shownwith reference to the television domain, they are accessible in each ofthe domains. The viewer may scroll from tool to tool within thetelevision domain, and may change domains 10 while using one of thetools 12. As the viewer scrolls through the tools 12, the viewer gets afeeling of motion in a direction perpendicular to the direction ofmotion between domains 10. Transitional segments are provided to enhancethis perception of movement between tools as compared to movementbetween domains.

[0068] At the intersection of each domain and tool, representing a layeror level in the system and sometimes referred to herein as a “zone,” theviewer is given a selection of programming choices for viewing. Thespecific programming choices in each zone are determined by the currentdomain and category of programming or channel, and the manner in whichthese choices are presented is determined by the tool being used. InFIG. 2, different channels of programming content available in a givenzone are aligned along an additional axis, pictorially represented in alinear fashion along a virtual vertical axis orthogonal to the radius14. The movement within a zone from channel to channel or from categoryto category provides the feeling of transition which is different thanthe transitions between domains or tools.

[0069] The navigational system of the present invention may beimplemented in a one way or two way broadcast system and makes use ofcertain special hardware devices including a set top box and remotecontrol. The following sections describe these elements.

System Architecture

[0070] A one way broadcast system generally includes a head end and aplurality of receiving ends at subscriber's homes. The transmission fromhead end to subscribers may be by direct dish-to-dish microwave, cable,satellite or other transmission media known to those of skill in theart.

[0071] In preferred embodiments, the head end system converts analogtelevision programming into compressed digital information suitable fortransmission in accordance with techniques known to those of skill inthe art. The digital video information, which may be in MPEG format, istransmitted as digital channels, with multiple digital channels beingtransmitted in a single tunable frequency band. The set top box can tuneto one of the frequency bands and generally includes circuitry fordigital video decoding, including a demultiplexer, processor, and MPEGand graphics overlay processor and memory chips. A set top box designedto perform digital video decoding and to support the functionality ofthe present invention is available from Zenith Electronics Corporationof Glenview, Ill. and DiviCom Inc. of Milpitas, Calif. Additional datais transmitted in the frequency bands, such as program guide data usedto support the intelligent program guide tool of the present invention,described in greater detail below.

[0072] A two-way or interactive broadcast system is similar to the oneway system, except that an additional means is provided for transmissionof signals from the set top box to the head end. This additional meansmay include a telephone link from the set top box to the head end, oneor more back channels in a cable system to transmit intermittent burstsof information from the set top box to the head end, or, in a wirelessbroadcast system, a transmitter in the set top box to wirelesslytransmit information back to the head end. Two way communicationfacilitates an array of services to be provided, such as video ondemand, purchasing of products seen on television, etc. Additionalembodiments of a two way system may become practicable as developmentsare made in the art.

[0073] As explained above, a preferred use for this system is to providetelevision programming, including standard and premium televisionchannels, movies and pay-per-view events through separate channels.However, content other than video may also be provided. For example, thesystem may be adapted to transmit pages of any kind of text, picture andother multimedia elements encoded as hypertext markup language (HTML)data with accompanying files such that world wide web-like pages can bedelivered to the television screen.

[0074] As described in detail below, several of the navigation tools ofthe present invention provide an interactive interface which allowsviewers to select programs or channels for immediate or later viewing.In a one way broadcast system, the viewer's selections in these toolscan not be communicated back to the head end. Therefore, functionalitymust be provided with the broadcast content which allows viewers tointeract with the tools on a real time basis. This functionality isuseful even in a two way broadcasting system to minimize the amount ofup channel communication required for viewer interaction.

[0075] To provide this functionality, programs and other data aretransmitted from the head end along with and linked to audiovisualcontent. The programs include overlay functions which link data with theaudiovisual content and create actionable areas on a television screenwhich can be selected by viewers and which, when selected, provide linksto video, audio, graphics or other data events. The data defining theseactionable areas, referred to herein as “hot-spots,” and linking them tothe actionable events is also provided with the broadcast content. Theoverlay functions and hot-spot data are synchronized with theaudiovisual content to give viewers the ability to interact with thehot-spots and cause the overlay functions to operate and display thelinked audiovisual or other data.

[0076] Examples of hot-spots are shown in FIG. 4. A television receiver34 is illustrated which includes a screen 40 with four hot-spots 42, 44,46 and 48 indicated thereon. The hot-spots are predetermined areas onthe screen that can be accessed by a remote control, mouse (not shown),or other conventional input device. Each hot-spot is defined by dataprovided with the audiovisual content. This data may include, forexample, predetermined coordinates. For example, in FIG. 4, the upperleft hand corner of hot-spot 42 may be defined by x and y coordinatesx1=100, y1=90 and the lower right hand corner may be defined bycoordinates x2=300, y2=220. Using this coordinate data, a computerprogram resident in the set top box can draw a rectangle representingthe hot-spot and overlay the hot-spot with audiovisual or other contentto be presented at that location on the screen. Viewers can move fromhot-spot to hot-spot using directional keys on the remote control,described below, and the program displays a visual indication of thecurrently activated hot-spot, such as a highlight around the hot-spot.

[0077] When the viewer selects one of the hot-spots, such as byactivating a button on the remote control, the set top box programdetermines whether a hot-spot exists and is currently activated, and ifso, the program automatically changes the state of the screen beingdisplayed by moving to the event linked to and indicated by thehot-spot. In the typical situation, this would be a full screenpresentation of the audiovisual sequence illustrated within thehot-spot. However, it may be other information such as alternate audio,graphics, text or other appropriate content like a game.

[0078] The overlay functions include a variety of retrievableinformation and interactive functions that are made available to viewerswhile viewing a particular television program or tool. Each televisionprogram may have unique overlay functions since the overlay functionsmade available are based upon the unique content of each program. When atelevision program having overlay functions and associated interfacedata is sent by the content provider from the head end to a viewer, theoverlay functions and interface data for the television program aresynchronized with the television program and loaded into the viewer'sset top box. The set top box, described in more detail below, contains aprocessor which reads the overlay functions and interface data,implements the interface, and enables the overlay functions in real timeand in synchronization with the associated actionable event in theprogramming. As the viewer interacts with the television program throughthe synchronized interface, the set top box implements the relevantoverlay functions selected by the viewer. Alternatively, in a two waybroadcast system, the set top box may communicate with the contentprovider as necessary to implement certain overlay functions selected bythe user.

[0079] Patent application Ser. No. 08/773,263 and application Ser. No.08/774,055, both filed Dec. 23, 1996, are hereby incorporated byreference into this application.

Remote Control

[0080] An infrared remote unit 68, illustrated in FIGS. 4A and 4B, sendssignals input by a viewer to an infrared input of the set top box. Theremote control unit 68 contains a number of features to facilitate useof the navigational features and tools of the present invention. Theexemplary remote control unit 68 includes a housing 70 which houses alight emitting diode (LED) unit 72 and electronics (not shown). Theremote control unit 68 has two sides 68A (FIG. 4A) and 68B (FIG. 4B). Akeypad positioned on a first side 68A of the remote control unit 68,generally indicated at 96, includes numbers 0 through 9 as well as astar (*) button and pound (#) button.

[0081] A channel up/channel down key or button 74 is provided on eachside of the remote control unit 68 with a center toggle, so that asingle button is used for both channeling up and channeling down in aconventional manner. Additionally, a volume up/volume down button 100 isprovided on each side of the remote control unit 68 with a centertoggle, so that the volume control is also on a single actuation button.Viewers can thus use the first side 68A of the remote control unit 68 ina conventional, “channel surfing” fashion. The first side 68A of theremote control unit 68 also contains conventional buttons for activatinga VCR, generally indicated at 102, which can be programmed in aconventional manner to activate any VCR unit, a mode button 104 whichchanges remote control modes between cable, television, and VCR (alsocontained on the second side 68B); and other keys conventional to remotecontrol units.

[0082] In accordance with the present invention, in addition to movingbetween channels viewers may also move between domains and tools. At thecenter of the second side 68B of the remote control unit 68 are a seriesof actuation keys or buttons 75-80 used by viewers to navigate betweendomains and tools. Actuation buttons 75 and 76, positioned in anopposing up and down arrangement, are provided to move up and downbetween tools. Actuation buttons 78 and 80, positioned in an opposingleft and right arrangement, are provided for movement between domains. Apress of either button 75 or 76 causes movement from one tool to anotherand a press of either directional button 78 or 80 causes linear movementfrom one domain to another. The second side 68B also contains channeland volume buttons 74 and 100, so viewers need not flip the remotecontrol over to change channels or volume.

[0083] To help remind viewers of the difference between navigatingbetween domains and tools and simply changing channels, the domain andtool actuation keys 75-80 on the remote control unit 68 are providedwith a different shape than the channel button 74. The actuation buttons75-80 are provided in an essentially circular arrangement with anindented contour from the center outward for an aestheticallysophisticated arrangement.

[0084] Four directional keys or buttons 82-88 are provided on the remotecontrol for navigating within the tools. The specific operation of thesedirectional keys depends upon the tool, as will be described in greaterdetail below. In addition, an up/down menu navigation key 85 with acenter toggle is provided for moving up and down within menus presentedin the tools.

[0085] The second side 68B of the remote control unit 68 containsadditional, special actuation buttons to facilitate use of thenavigational system of the present invention. One such button is anenter or “gimme” button 92. Actuation of the enter button 92 executesrequests or selections or, if pressed when a hot-spot is highlighted orotherwise selected, activates the actionable event linked to thehot-spot. For example, if a certain program is featured within ahot-spot, pressing the enter button 92 causes the system to tune to thechannel on which that program is available, thus presenting the program.

[0086] As described in more detail below, the navigational system of thepresent invention also allows viewers to tag one or more programs to beplayed at a later time. A tag button 90 is provided on the remotecontrol unit 68 to facilitate this function. The remote control unit 68further contains a back button 94 which returns the viewer to apreceding tool or channel or which steps backward through a process, amap button 95 which displays a navigational map of domains and tools, asdescribed further below, and a teach or help button 99 which activateshelp screens provided by the system.

[0087] An alternative embodiment of a remote control unit is illustratedin FIGS. 4C, 4D, 4E and 4F. The alternative remote control unit 168 hasa housing 170 and LED unit 72, and has buttons positioned on three sidesof the housing 170—a back side 168A, right side 168B, and front side168C. The buttons are positioned such that a user may use the remotecontrol 168 in either a conventional, “channel surfing” manner using achannel keypad or in accordance with the navigational system of thepresent invention, and in either event have easy access to channel andvolume control buttons used in both cases without the need to duplicatethose buttons on both sides of the unit, as with the remote control unitshown in FIGS. 4A-4B.

[0088] Thus, in the alternative remote control unit 168, the back side168A contains a channel keypad, generally indicated at 96, conventionalbuttons for activating a VCR, generally indicated at 102, a mode button104 which changes remote control modes between cable, television, VCR,and other mode(s), and may contain other keys conventional to remotecontrol units. Mode indicator lights 105 extend around the remotecontrol unit 168 from the back side 168A to the front side 168B so as tobe visible on whichever side the remote control unit 168 is held.

[0089] On the front side 168B (FIGS. 4E and 4F) of the remote controlunit 168 are the actuation buttons 75-80 used by viewers to navigatebetween domains and tools, the four directional buttons 82, 84, 86, and88 for navigating within the tools, and pick menu actuation keys 85,which may be either two separate keys or one toggle switch, for movingup and down within menus presented in the tools. The front side 168Balso contains enter or “gimme” button 92, tag button 90, back button 94,map button 95 and teach or help button 99, all of which functionsubstantially as described above in relation to remote control unit 68.

[0090] The right side 168C (FIGS. 4C and 4E) of the remote control unit168 contains buttons which are usable with both the navigational buttonson the front side 168B and the channel keypad buttons positioned on theback side 168A. These buttons include two channel selection buttons 74,one up and one down provided for channeling up and channeling down, avolume up/volume down button 100 with a center toggle, a mute button101, and a power on/offbutton 103. Viewers can thus use the right side168C of the remote control unit 168 in a conventional, “channel surfing”fashion, and can easily access these “channel surfing” functions fromeither the conventional, television/VCR back side 168A or from thenavigational, domain/tool front side 168B of the remote control unit168.

[0091] To use the present system, a viewer needs only the set top boxand associated remote control unit. The hardware required by the vieweris of essentially the same nature as the hardware required in currenttelevision broadcast subscription systems. As with other hardware, thesystem hardware for use with the present invention is easy to connectand operate in a home viewing environment.

[0092] Although the hardware just described includes remote controlunits specially designed for use with the navigational system of thepresent invention, one skilled in the art will recognize that otherhardware devices may be used to facilitate use of the present invention.For example, a computer, such as a personal computer with appropriatesound and video processors and conventional input devices such as akeyboard and mouse, could be programmed as needed to provide thefunctionality described above.

Navigational System Operation

[0093] As explained above, the navigational system of the presentinvention allows for navigation among domains, tools, and channels. FIG.5 illustrates a two dimensional programming map with domains arranged incolumns and tools organized in rows. Five domains are used for purposesof illustration: the games domain 122, movies domain 124, televisiondomain 126, sports domain 128, and shopping domain 120. Additionaldomains may be provided, such as a local programming domain and a VODdomain which provides viewers with video on demand and other interactiveservices. Interactive domains such as the shopping and VOD domains wouldbe best deployed with an interactive television broadcasting system. Ofcourse, a given program may be classified as part of two or moredomains, and would thus be available through each of those domains.

[0094] The navigational system also provides a number of navigationaltools. Six tools are illustrated in the embodiment shown in FIG. 5, eachpositioned in a separate row of the map. The tools, described in moredetail below, include the host tool 130, multiscreen browser tool(“MSB”) 132, intelligent program guide tool (“IPG”) 134, channel orviewing tool 136, information or “info” tool 138, and custom tool 140.For purposes of this application and for ease of understanding, thefunctioning of the domains and tools are described using the televisiondomain 126 as the exemplary domain. However, one skilled in the art willunderstand the similar operation of the tools in other domains.

[0095] A viewer wishing to move between domains (an action sometimesreferred to herein as “zipping”), such as from the movies domain 124 tothe television domain 126, would push the right actuation button 80 ofthe remote control 68. That is, for example, if the viewer is using theMSB tool 132 while in the movies domain 124, the viewer can move to thetelevision domain 126 and remain in the MSB tool 132. To move back frommovies domain 124 to television domain 126, the viewer would depress theleft actuation button 78 of remote control 68. Similarly, a viewermoving from the IPG tool 134 to the MSB tool 132 (an action sometimesreferred to herein as “zooming”) would depress the up actuation button75, and moving in the opposite direction would depress the downactuation button 76. In either case, the viewer remains in the samedomain while moving between tools. Then, to move between channels withina given zone (an action sometimes referred to herein as “zapping”), thechannel up/down button 74 is pressed.

[0096] The six tools are now described briefly, with more details oneach provided below. In the host tool 130, an animated or video host isprovided to guide the viewer through selected content choices.Typically, the content choices presented in the host tool 130 aredetermined by the content provider or other player involved withtelevision programming or distribution. The host talks about thesepredetermined upcoming programs, and an on-screen menu allows viewers toselect one or more of the programs for current or later viewing. SeeFIG. 12. The host tool 130 is similar to a guided tour, and is analogousto a guided tour provided by a tour company which sets out all thepossible sites to visit and which allows tourists to decide which of thesites they desire to visit.

[0097] The next tool in the organizational scheme depicted in FIG. 5 isthe multiscreen browser tool or MSB 132. In the MSB 132, multiplereduced sized videos or still images are provided. See FIG. 15.Additionally, a pick menu is provided of the categories of browsersavailable within a given domain, and viewers can change the contentchoices shown in the MSB by changing the category. For example, in atelevision domain the content in the MSB would be determined accordingto categories of subject matter of the programming content, such ascomedy, drama, news, etc. The reduced sized videos or images arehot-spots, and viewers can select one of them to tune to the specificprogram represented therein.

[0098] Following the MSB 132 is the intelligent program guide or IPG134. The IPG 134 is an interactive program guide which lists programs bychannel and time in a text based format. See FIG. 21. The viewer cannavigate around the guide with the remote control 68, and can select ortag a program listed in the guide for immediate or later viewing. Inaccordance with further advantageous features of the present invention,data for the IPG is broadcast from the head end on multiple channels sothat the set top box, having only one tuner, need not tune away from thelast channel watched to obtain the IPG data and can present that channelor other audio and video data simultaneously with the IPG, as describedfurther below.

[0099] The channel tool 136, the next tool in the organizational scheme,is the actual programming content shown at full screen resolution. Thechannel tool 136 plays a segment of content, such as a video game in thegames domain or a television show in the television domain. For example,in the television domain 126, channel tool 136 offers multiple channelsof television programming, and allows for traditional channel surfingusing the channel up/down buttons.

[0100] The info tool 138 provides information regarding the programmingcontent provided in channel tool 136. For the television domain 126, theinformation may be information regarding the playing time of a program,the actors and actresses appearing in the program, plot, ratingsinformation, or the like. Alternatively, in the sports domain 128, infotool 138 might provide further information regarding playoff races,individual player background, statistics or the like. The data for theinfo tool 138 may be obtained from the world wide web or other service.

[0101] The custom tool 140 allows viewers to preprogram particularpreferences, such as which television channels they prefer and whichchannels they would like to block from their children's viewing, as wellas other house-keeping activities. Alternatively, if a viewer has taggedprogram choices presented in one of the other navigation tools, such asthe host tool 130, MSB 132 and IPG 134, the viewer can edit the list oftagged programs in the custom tool 140. The custom tool 140 alsoprovides for the storage of customized channel rings, as describedfurther below.

[0102] The tools shown in FIG. 5 are ordered in generally increasingorder of complexity of use and detail of information provided. That is,in the host tool 130, shown first, the viewer receives a simple list ofsuggested program choices, and simply selects one of these choices forimmediate viewing or tags it for later viewing. The MSB 132 presents theentire range of program choices for a given domain and category inaudiovisual format, which is similar to traditional television viewing,and the IPG 134 presents the program choices in a textual format whichis also familiar to most viewers. All of these tools, presented beforethe channel tool 136, are relatively simple to use but provide limitedcontrol and details. The info tool 138 and custom tool 140, whichprovide greater details about the programming and greater control overwhat and how programming is made available through the other tools, arepositioned following the channel tool 136. Viewers wishing to maintain asimplified and more visual experience can thus remain “above” thechannel tool 136, while others more familiar with more complex,computerized interfaces may venture “below” the channel tool 136.

[0103] As shown in FIG. 5, the navigational system maintains an index ofthe domains and tools. Although other indexing schemes may be used, theindex of the embodiment shown in FIG. 5 is maintained as a twodimensional array of coordinates. The first coordinate in the arrayrepresents the tools and the second coordinate represents the domains.In the exemplary embodiment shown in FIG. 5, the tools have coordinateshost=0, MSB=1, IPG=2, channel=3, info=4, custom=5, and the domains havecoordinates games=0, movies=1, television=2, sports=3 and shopping=4.Thus, for example, the zone defined by the intersection of the host tool130 and the movies domain is at coordinates (0, 1), representing thehost tool 130 at coordinate 0 and the movies domain at coordinate 1.When a viewer moves around within the navigational system using theactuation buttons 75-80 on the remote control 68, the coordinates changein one direction, and the index is used to determine what zone topresent next.

[0104] As explained above, each tool provides multiple channels orcategories that can be accessed through the remote control unit 68. Inthe host tool 130, MSB 132, and IPG 134, different program choices areprovided for different categories. For example, comedies may be providedon one MSB category set or “channel,” dramas are provided on another MSB“channel,” and news programs are provided on a third MSB “channel.”Alternatively, television channels may be grouped in numerical order,for example, television channels 1 through 9 provided on one MSB“channel,” television channels 10 through 18 provided on the next MSBchannel, etc. In either case, viewers navigate through these toolchannels using the channel up/down button 74 on the remote control unit68. Other tools, including the channel tool 136 and info tool 138, arebroken into multiple television channels arranged in standard numericalorder. See FIG. 6.

[0105] As shown in FIG. 6, the index is expanded to three dimensions totrack the channels available within each zone. The television domain 126is used for illustrative purposes, with the movie domain 124 depicted inphantom. In the preferred embodiment, the coordinates for the expandedindex are [tool, domain, channel]. The third dimension or channeldimension is indexed depending upon the channels available within thetool. For example, in an exemplary embodiment such as that in the hosttool, all television channel=0, news television=1, talk television=2,soap operas=3, dramas=4 and comedies=5. Thus, if a user wants to get tothe host in the television domain displaying choices of talk shows, theviewer navigates using the actuation buttons 75-80 and channel up/downbutton 74 to coordinates (0, 2, 2).

[0106] Aside from maintaining a viewer's position within thenavigational system, the use of an index as described above providesadditional advantages. One such advantage is context sensitivity. When auser is at a particular zone and channel and changes tools, the viewerremains not only in the same domain but also in the same category orchannel. For example, if the viewer is at the IPG tool, televisiondomain and talk show channel at coordinates (2, 2, 2) and presses the upactuation button 75, the viewer will change to the MSB tool and bebrought to coordinates (1, 2, 2). Although the viewer changes tools fromIPG to MSB, she remains in the television domain and talk channel. Thus,the navigational system is set up such that when moving between tools,if viewing any category of programming, the same category of programmingwill be provided in the separate tools.

[0107] In addition, when moving between domains, a viewer stays in thesame tool. For example, if a user is at coordinates (2, 2, 1 ) anddepresses the left actuation button 78, that viewer is sent tocoordinates (2, 1, 2) or is placed into the IPG tool in the movie domainin the third channel (coordinate 2).

[0108] Another advantageous use of the indexed coordinate system is thepresentation of a navigation map. An example of such a map is providedin FIG. 7. The navigation map lists the domains on a horizontal axis andthe tools on a vertical axis. The zones defined at the intersection ofthe domains and tools are represented by still images or reduced videosegments 160 depicting the nature of material available at the zone.These images or segments 160 may be hot-spots which link to the zonerepresented therein. The viewer can use the navigation map to find theircurrent location within the system and to move around within thenavigation map to select a desired zone to which to jump.

[0109] As a further aspect of the navigational system of preferredembodiments of the present invention, a number of common screen elementsare provided on tool screens to help establish some uniformity ofoperation among the tools. Each tool screen has some or all of theelements. To illustrate the common screen elements of a preferredembodiment, reference is made to FIG. 8, which shows a screen in the IPGtool and VOD domain. The screen contains a tool window 180, clock 182,pick menu 184, tool identifier 186, domain identifier 188,picture-in-graphics cell 190, and description box 200.

[0110] The tool window 180 provides the interactive display area for thecurrent tool. In some tools, including the IPG, the tool window containsa channel lineup 202 listing channel numbers and logos in a series ofvertically arranged cells. The data for the channel logo and/or numbermay be obtained from the head end if necessary, or may be stored in theset top box. Similarly, the time data for the clock 182 is synchronizedwith the time received from the head end.

[0111] The pick menu 184 displays a number of viewer selectable optionswhich vary depending upon the tool used. In the MSB and IPG tools, andin some embodiments the host tool as well, the pick menu displays theavailable tool channels which, as explained above, represent categoriesof programming available within the given domain. These categories maybe stored within the set top box or, if dynamically changing categoriesare desired, may be provided with the data broadcast from the head end.In the info tool the pick menu 184 displays available sub-topics, and inthe custom tool the pick menu 184 displays available preference options.The viewer navigates up and down the pick menu 184 with the pick menukey 85 on the remote control 68, and selects one of the menu items usingthe enter or gimme key 92.

[0112] Dynamically changing categories are desirable to prevent theviewer from failing to receive any programming choices in an MSB or IPGscreen when a given category is selected for which no programmingchoices are currently available. For instance, although a number ofprogramming choices would be available within the MSB or IPG tool screenin a sports category on a Sunday afternoon, the MSB and IPG tools mayhave no programming choices for sports in the middle of the night. Usingdynamically changing categories provides that no sports category will bepresented at times when there are no or minimally few programmingchoices available within that category.

[0113] In addition, certain categories should preferably be broken intoor presented as subcategories when warranted by the number ofprogramming choices. In the example outlined above, on a Sundayafternoon when a large number of football games are available forviewing, the sports category may be replaced with a football subcategoryto more accurately indicate the nature of the programming choicesavailable.

[0114] To implement dynamically changing categories, the categoriesavailable at any given time are transmitted with the programming datafrom the head end, as explained above. The category data may be embeddedin the data stream for the programming data, or may be sent as aseparate data packet. Other data may be embedded with the list ofcategories, including the number of items in the pick menu, and, foreach item in the menu, a service identifier representing the channelnumber pointed to by the menu item, data identifying the item's positionand size in the menu, and other related data. Alternatively, a masterlist of all available categories may be stored and indexed in the settop box or remote control, with data identifying a subset of all suchcategories being transmitted from the head end.

[0115] The list of categories is generated at the head end or otherlocation by receiving and storing a database containing televisionprogramming schedule data, as known to those of skill in the art. Eachtelevision program in the schedule is associated with a number ofcategories and/or subcategories. An intelligent agent is used to searchthrough the programming available at a given time or period of time(e.g., a two or three hour time range) to identify the categories ofprogramming available for that time period. Categories which haveassociated programs less than a predetermined, minimal threshold areeliminated from consideration. Categories having associated programsgreater than an associated maximum (e.g., nine programs, the numberwhich may be presented on a single MSB tool screen in one preferredembodiment) may be divided into subcategories. Alternatively, a humanoperator may select the categories based upon the programming containedin the schedule database.

[0116] As an alternative to a complete selection of categories at eachtime interval, selected categories would be selected on a default basisbased on repetitive programming patterns. For example, because it isknown that many professional football games programs are available forviewing at set times such as certain Sundays of the year, a sportscategory or football subcategory would automatically be selected forthat time. This alternative takes advantage of the fact that televisionprogramming is a type of linear programming which has generallyrepeating patterns of scheduled events.

[0117] To help viewers keep track of their position in the navigationalsystem, the tool screens provide a tool identifier 186 and domainidentifier 188. The tool identifier 186 appears at the top left cornerof the screen and displays the name of the current tool. The domainidentifier 188 displays icons of the various domains, with a highlighton the current domain. The tool and domain information for theseidentifiers are obtainable from the coordinate index and tables relatingthe coordinates to particular tools and domains. The domain icons arestored in a dynamic RAM contained in the set top box. In some tools,such as the channel tool, the tool and domain identifiers appear onlytemporarily when a viewer changes tools or domains and then disappear inorder not to block the view of a program or other content.

[0118] The picture-in-graphicscell 190 and description box 200 displayadditional information about a program highlighted in the tool window180. This information is obtained from the head end as described above.The picture-in-graphicscell 190 displays audiovisual content of eitherthe program highlighted in the tool window 180 or of the last channelwatched before navigating to the current tool, a preference set by theviewer in the custom tool. The operation of the picture-in-graphicscellis described in greater detail below in relation to the IPG tool. Thetext for the description box 200 relates to the program highlighted inthe tool window 180.

[0119] To provide viewers with a feeling of motion between domains andtools when actuation buttons 76 through 80 are pressed, transitionsegments are provided between screens. When actuation buttons 75 or 76are pressed, a transition segment is provided on the screen that gives afeeling of motion upward or downward, respectively. When actuationbuttons 78 or 80 are actuated, a transition segment is displayed thatprovides a feeling of motion left or right. These transition segmentsserve several purposes, including to provide a feeling of motion to theuser, to orient the viewer to the direction in which the viewer ismoving (e.g., up or down between tools), and to fill in a time gapcreated while the set top box is locating the appropriate data streamfor the next tool or domain as requested by the user.

[0120] The process of displaying transition segments is shown in theflow chart of FIG. 9 as described with reference to the screen displaysshown in FIGS. 10A-10H and 11A-11H. FIGS. 10A and 11A show a screen forthe IPG tool in the television domain, having a tool identifier 186 anddomain identifier 188. When a viewer presses one of the actuationbuttons 75-80, the navigational system begins to retrieve the datarequired for the next screen, and the current screen is dissolvedleaving only the tool identifier 186 and domain identifier 188, step250. Next, transition animation is displayed, step 252, as shown inFIGS. 10B and 11B. The transition animation is stored in and retrievedfrom memory in the set top box.

[0121] If the right or left actuation button is pressed, step 254,indicating that the viewer wishes to move between domains, the entiretransition screen is scrolled in the direction of the key pressed exceptfor the tool identifier 186, step 256. The sequence of scrolling thetransition screen is illustrated in FIGS. 10C-10E, with the screen shownscrolling to the right. Leaving the tool identifier 186 on the screeninforms the viewer that the system is switching domains while remainingin the same tool. As the existing transition screen scrolls out, a newtransition screen scrolls in from the opposite direction, step 258. Thenew transition screen contains transition animation as well as thedomain identifier 188 highlighting the new domain. The sequence ofscrolling in a new screen is illustrated in FIGS. 10D-10G, with the newscreen scrolling in from the left. Thus, the viewer is informed that thesystem has changed from one domain to another, in this case, from thetelevision domain to the VOD domain. After the new transition screen hascompletely scrolled in, the transition animation is removed, step 260(see FIG. 10H), and the new domain screen for the current tool is fadedin, step 262. The viewer can then interact with the new screen.

[0122] If the up actuation key is pressed, step 264, indicating that achange of tool is desired, the system checks whether it is at the firsttool in the order of tools, step 266. In the preferred embodiment, thisis the host tool. As explained above, the tools are arranged in aspecific desired sequence, and the viewer is prevented from wrappingaround from first to last in order to maintain that sequence. If thecurrent tool is the host tool, an error indication is sent to theviewer, step 278, such as in the form of an audio beep. Otherwise, theentire transition screen is scrolled down except for the domainidentifier 188, step 268. Leaving the domain identifier informs theviewer that while the tool is changing, the domain is remaining thesame. The sequence of scrolling the transition screen down isillustrated in FIGS. 11C-11F. At the same time, a new transition screenwith a new tool identifier 186 is scrolled in from the top of thescreen, step 270, giving the viewer the impression of moving down fromone tool to the next. The sequence of scrolling the new transitionscreen down is illustrated in FIGS. 11C-11G. Once the new transitionscreen is in place, the transition animation is removed, step 272 (seeFIG. 11H), and a new screen showing the new tool is faded in, step 274.

[0123] A converse sequence of operations is performed if the viewerpresses the up actuation key 75. The system checks whether it is at thelast tool, step 276, and if so sends an error message, step 278.Otherwise, the entire transition screen except for the domain identifieris scrolled up, step 280, and a new transition screen is scrolled upfrom the bottom of the screen, step 282. When complete, the transitionanimation is removed, step 272, and the new tool screen faded in, step274.

[0124] The transition segments enhance the viewer's feeling of motionwhen navigating between screens. In addition, the use of perpendicularlyarranged transition segments when navigating between domains and toolsreinforces the viewer's feeling of traveling in two different directionswhen moving between domains as opposed to moving between tools.

[0125] An alternative method of providing transitions between domainsand tools highlights the feature wherein the last channel watched iscontained in the picture-in-graphicscell 190 (FIG. 8), as describedfurther herein. In this method, when a user presses the up or down key75 or 76 while in the channel tool, the frame for the channel beingwatched rapidly shrinks down from the entire screen to thepicture-in-graphicscell, with numerous intermediary frame sizes shownbetween the full size screen and the picture in graphics cell.Simultaneously with this transition, the IPG tool or info tool screen,as the case may be, is transitioned into the space left on thetelevision screen by the shrinking channel frame. This transitionindicates to the user that the picture-in-graphics cell 190 contains thelast channel watched. When the user uses the up or down key 75 or 76 tomove from the IPG tool or info tool screen back to the channel tool, thelast channel being displayed in the picture-in-graphicscell 190 expandsfrom the reduced size frame to full screen view.

[0126] For this alternative method of providing apicture-in-graphicscell, during transitions between tools, the currentscreen is not dissolved upon operation of one of the actuation buttons75 or 76, but rather, the whole tool screen scrolls out while the newtool screen scrolls in, leaving the picture-in-graphicscell 190stationary on the screen displaying the last channel watched. The domainidentifier may remain on the screen as well. For this method, there areno separate transition screens or animation used. Rather, the currentscreen is scrolled out either while still in its full operational statewith running video or multiple videos, if displayed, or the video ormultiple videos for that screen are frozen while the new screen isscrolled in. Similarly, the new screen for the tool being scrolled inmay contain running video or multiple running videos to be displayed.The video or videos for the new screen may continue to run while thescreen is being scrolled in, or the running video or videos may be in afrozen state while the screen is being scrolled in, wherein after thescreen scrolls in and the video picture or pictures are updated to thereal time state to continue running. A similar operation would occur fortransitions between domains, with the picture in graphics cell 190 andtool identifier remaining stationary while the two screens scrolllaterally in and out.

[0127] Another implementation of this method may present in thepicture-in-graphicscell 190 the video for the currently highlightedchannel for the current tool as described further below. For example, asthe lens in the IPG tool, described below, moves from channel tochannel, the picture-in-graphicscell changes to display the video forthe current channel highlighted by the lens. With this implementation,when the “gimme” button 92 is pressed, the current video being presentedin the picture-in-graphicscell is expanded to full screen display.

[0128] The navigational system of the present invention provides otherfunctions which operate in one or more of the tools. One such functionallows viewers to tag programs for later viewing using the tag button 90on remote control unit 68. The function of tagging programs or channelsfor later viewing varies somewhat from tool to tool and is describedbelow with reference to each tool. The navigational system stores a listof the tagged programs along with the program times in the set top box,and updates this list as additional tags are created or existing tagsdeleted.

[0129] The navigational system polls the list of tagged programs on aregular basis, such as every five minutes, to determine whether aprogram on the list will be available for viewing within the givenamount of time. For any programs which will be available within thegiven amount of time, the system displays a message to the vieweridentifying the program or programs which will be available for viewing.If more than one program will be available, the message presents a menuof the programs to the viewer. The viewer can then select whether towatch the program or pick one of the programs for viewing. The systemtransfers to a display of the channel in which the program is scheduledfor viewing.

[0130] Another function provided by the system involves blocking. Asexplained below, the custom tool may be used by a viewer to selectcertain channels or programs for blocking. The list of blocked channelsor programs is stored in memory as explained below. If the channel orprogram is selected for viewing using one of the other tools, the systemrequires the viewer to enter a personal identification number (“PIN”)before it allows the viewing. This function allows parents to preventtheir children from watching certain channels or programs.

[0131] The navigational system of a preferred embodiment also providesfor ordering pay-per-view events or video-on-demand. These types ofprograms may be grouped in a single domain such as the VOD domain.Because these programs are generally available a number of times duringa day, when a viewer selects or tags a pay-per-view event orvideo-on-demand in any of the tools, the system prompts the user toselect a given time. The system then requires the viewer to enter a PINand pay for or authorize payment for the program.

[0132] The various navigation tools provided in preferred embodiments ofthe navigational system are described in greater detail in the followingsections.

Host Tool

[0133] As explained above, the host tool is designed to provide a viewerwith a “guided tour” of a day's or evening's programming. For example, ahost may tell a viewer of the top rated shows for the day, selectedmovies available, special sporting events, etc. This tool also lets theviewer execute upon a hot-spot and be transferred to the viewer's choiceof preferred programming. The list of programming choices is created bythe content provider and transmitted with the program over thebroadcasting system. Hosted viewing provides content providers with anopportunity for attracting and selling programming content to theviewer. For example, the host may recommend a pay-per-view event, videoon demand, or the like in order to bolster sales of the event.Additionally, the host provides an opportunity to interact with viewers,such as by polling viewers to obtain marketing information or the like.

[0134] Particular attention is directed to FIG. 12 which illustrates anexemplary screen for the host tool. In FIG. 12, an animated or taped orlive video host 300 introduces the viewer to upcoming or currentlyavailable programs 302 and provides suggestions designed to assist theviewer in reviewing programming choices. The data for the menu ofprogram choices 302 is transmitted to the viewer from the head end. Asthe head end periodically changes the menu choices, the menu is changedto reflect the addition and deletion of various menu choices. The settop box generates a selection cell which is controllable by the userthrough the down and up directional keys 84 and 82, respectively, on theremote control unit 68. In some embodiments, the selection cell alsorotates through the choices automatically and the viewer uses thedirectional keys to move the selection cell manually.

[0135] Each program choice 302 is a hot-spot which links to the programidentified therein. In some embodiments, audiovisual program data suchas a reduced video image may also be displayed in the host tool. As theselection cell moves from choice to choice, the audiovisual data ischanged to reflect the currently highlighted selection. The host toolscreen also temporarily contains the tool identifier and may alsocontain the domain identifier.

[0136] The process of displaying and handling viewer selections in thehost tool is shown in the flow chart in FIG. 13. When a viewer navigatesto the host tool, the tool identifier for the host is displayed alongwith the host menu received from the head end, step 320. The toolidentifier is then removed from the screen after a few seconds, such asseven seconds, step 322. The viewer can then navigate among the programchoices as explained above. If the viewer presses the gimme key 92 on agiven program choice, step 324, the system determines whether theselected program choice is currently available for viewing, step 325. Ifthe program choice is currently on, the program is displayed inaccordance with an event display routine shown in FIG. 14 and describedbelow. If the program choice is not currently on, the system treats theselection as if the viewer had pressed the tag key 90, and follows thesame procedure as explained below.

[0137] If the viewer presses the tag key 90 on a program choice, step326, the system determines whether the program choice is already taggedby checking the tagged list, step 328. If the program is not alreadytagged, the program is added to the tagged list, step 330, and a messageto that effect is displayed to the viewer, step 332. A small box is alsoadded to the program choice shown in the tool to indicate that theprogram is tagged. If the program choice has already been tagged, thesystem prompts the viewer for a decision whether to untag the program,step 334. If the viewer wants to untag the program choice, step 336, theprogram choice is removed from the tagged list, step 338.

[0138] The steps taken by the navigational system when the viewerpresses the gimme key 92 on a program choice are shown in the flow chartin FIG. 14. The system calls a conditional access system, known to thoseof skill in art, to determine whether the program choice selected is ona channel to which the viewer is currently subscribed, step 340. Thesystem then determines whether the program choice or associated channelis blocked or available only on a pay-per-view or video on demand(“VOD”) basis, step 342. The process of creating and storing blockedprograms and channels will be described further below with reference tothe custom tool. If the program or channel is blocked or VOD, the systemdisplays a message to that effect, step 344, and allows the viewer toenter the required PIN for access to the program or channel, step 346.If the PIN input by the viewer is incorrect step 348, an error messageis sent, step 350, and the program is not displayed.

[0139] If the correct PIN is input or the program or channel is notblocked, the system determines whether the selected program is apay-per-view or VOD event, step 352. If not, the system displays theprogram in full screen resolution mode, step 354. If the program is apay-per-view or VOD event, the system requires the viewer to authorizepayment for the event by displaying the price for the event (as receivedfrom the head end), prompting the viewer to decide whether to pay, step356, and accepting the viewer's decision, step 358. In some embodiments,a viewer may set spending limits in the custom tool. If a spending limitis set, the system determines whether the addition of the selectedpay-per-view or VOD program would exceed the spending limits, step 360.If the spending limits are exceeded, an error message to that effect isdisplayed, step 362, and the program is not displayed. If thepay-per-view or VOD event falls within the spending limits, the set topbox transmits billing information to the head end (in a two way system),step 364, and displays the program, step 354. In some embodiments, theset top box stores the billing information in a holder and waits for thetelephone line to be available before calling and transmitting thebilling data to the head end.

[0140]FIG. 14 illustrates one process of presenting a selected program.One skilled in the art will recognize that the order of steps shown inFIG. 14 may be changed, or that certain steps may be omitted or addeddepending upon the interface desired.

[0141] Returning to FIG. 12, in some embodiments of the presentinvention the host tool also displays program categories 304. Selectingone of the categories brings the viewer to another tool screen, such asthe MSB or IPG, with program choices filtered by the selected category,as explained further below with reference to each of these tools. Thesecategory selections 304 would thus be hot spots linked to those toolscreens.

[0142] The host tool is the first level tool and it assists viewers inviewing programming content in the new navigational system of thepresent invention. The intuitive nature of the host tool is advantageousto those viewers that prefer a tour guide with targeted viewing asopposed to wandering or channel surfing as done by many viewers today.

Multiscreen Browser Tool (MSB)

[0143] The multiscreen browser tool is a second level tool that allowsviewers to scan through a block of channels all at once. These blocksmay contain programming, pay-per-view or video on demand previews,advertisements, shopping, etc. The MSB contains a plurality of windows,each showing still images or full motion video image runningconcurrently. In addition, viewers are able to see information for eachprogram, such as title, channel, cost, rating and duration, and areempowered to display more in-depth information, such as cast informationor a brief synopsis.

[0144] An exemplary multiscreen display is shown in FIG. 15. Thetelevision receiver screen 380 is illustrated with six reduced sizedvideo displays 382 each displaying a different reduced size videosignal. Each reduced size video display includes a designated area fordisplaying indicia 384 of the reduced sized display provided, such as achannel logo for the channel on which the program featured in the windowis available. The MSB also contains (not shown in FIG. 15; see FIG. 8)the tool identifier, domain identifier, a pick menu for the various MSBchannels available, a clock, and a description box.

[0145] The set of video windows 3 82 displayed on a single MSB screen isselected according to the MSB channel. For example, in the “comedy” MSBchannel, six different comedies would be displayed simultaneously. Theviewer selects the desired channel by making a category selection in thepick menu or by using the channel selection button 74. The viewer thenuses directional keys 82-88 on the remote control unit 68 to choose forwhich reduced sized image 382 the viewer desires to receive theassociated audio. A graphic highlight is displayed around the viewer'sselected reduced sized image 382.

[0146] The process of displaying and navigating through the MSB is shownin the flow chart in FIGS. 16A-16B. The set top box receives a videosource from the head end containing the videos to be reduced, which mayalready be reduced at the head end, and placed in MSB windows, step 400.The data received from the head end specifies the number of cells to beplaced in a given MSB screen. In some embodiments, the data specifyingthe number of cells for each MSB display is sent in advance with theprogram guide information. A sample video source 500 for an MSB screenis shown in FIG. 17. The set top box then constructs an overlay grid,step 402, with a number of cells corresponding to the number of cells inthe video source. FIG. 17 shows a sample overlay grid graphic 502generated by the set top box for the video source 500. The set top boxthen overlays the grid 502 and the video source 500, step 404.

[0147] The MSB does not necessarily display all the videos contained inthe video source received from the head end. If the programs are in theVOD domain which provides pay-per-view programming, step 406, anadvertisement video or still image received from the head end isdisplayed, step 408. Alternatively, the head end may provide theadvertisements in lieu of the actual program videos. For standardprogramming, the system cross references each video in the video sourcewith the blocked programs, channels or ratings information, step 410, todetermine whether the program is blocked, step 412. If the program isblocked, the system replaces the video for that program with a messageindicating that the program is blocked and the reason therefor, e.g.,the program has a rating of R, step 414. Once each program is checked,the set top box sends the overlaid graphic and video source, withchannels blocked as necessary, to the television receiver for display.By default, the top left cell in the MSG graphic is set as highlighted,step 416.

[0148] Referring now to FIG. 16B, which continues from FIG. 16A, thesystem plays the audio stream associated with the video stream in thecurrently selected cell, step 418. As explained above, for each programthe head end transmits the audio data separately from but linked to thevideo data. Both types of data are processed in the set top box forpresentation on the television receiver. Description data related to theprogram is also transmitted from the head end and linked to the videodata. The system displays the description data associated with theprogram in the selected cell in the description box, step 420. As aresult, the viewer can view the video in the selected cell, hear theaudio, and read the description about the program at the same time.

[0149] The viewer navigates around the MSB windows 504 by pressing oneof the direction keys 75-80 on the remote control unit 68. If the userpresses the right direction key 80, step 422, the system determineswhether the viewer was currently at the last cell in the grid, step 424,and if so, wraps to the first cell, step 426. Otherwise, the systemmoves the selection frame to the next cell to the right, step 428, inthe same or following row. Similarly, if the viewer presses the leftdirection key 78, the system determines whether the viewer was currentlyat the first cell in the grid, step 430, and if so, wraps to the lastcell, step 432, or else moves the selection frame to the prior cell tothe left, step 434, in the same or immediately preceding row.

[0150] The operation of the up and down direction keys 75 and 76 issimilar. If the up button is pressed, step 436, and the current selectedframe is on the top row of a column, step 438, the selection frame ismoved to the lowest row in the column, step 440. If the selection frameis not at the top row, it is simply moved up one row in the column, step442. If the down button is pressed, step 444, and the current selectedframe is on the bottom row of a column, step 446, the selection frame ismoved to the top row in the column, step 448. If the selection frame isnot at the bottom row, it is moved down one row in the column, step 450.

[0151] Each time the selected frame is moved to a new cell, the systemswitches to presenting the audio stream and description data linked tothe program in the new selected cell, steps 418 and 420.

[0152] While a given MSB window is selected, a viewer can press the tagbutton 90 or the gimme button 92. If the viewer presses the tag button,step 452, the system displays the tag select menu and allows the viewerto tag the program, in accordance with the processes shown in FIGS. 20and 21 and described immediately below. If the viewer presses the gimmebutton 92, step 454, the system displays the event linked to theselected window in accordance with the process shown in FIG. 14.

[0153] The process of creating tags is now described with reference toFIGS. 18-20. As seen in FIG. 18, when the tag button 90 is pressed, thetag pop-up menu is created, step 520. In accordance with someembodiments of the invention, the tag menu is tailored based upon thespecific program. Referring specifically to FIG. 19, the tag menu alwayscontains the options “no tag” and “next time,” so these options areplaced in the tag menu to be displayed, step 522. If the program iscapable of being recorded (as, for example, if the head end does notinclude a code with the program indicating that it may not be recorded),step 524, a “to record” tag is added to the tag menu, step 526. If theprogram is a one time special event (e.g., a boxing match), step 528, noother options are added to the tag menu. Otherwise, the program is onmore than once and an “each time” option is added to the tag menu, step530. If the program is a daily event, step 532, a “daily” option isadded to the tag menu, step 534. If the program is on once a week, a“weekly” option is added to the tag menu,” step 536. A resulting tagmenu with all options available is shown in FIG. 20.

[0154] Returning to FIG. 18, once the tag menu is generated anddisplayed, the system checks the tagged list to determine whether thecurrently selected program has already been tagged, step 542. If so, thesystem displays a message or tag alert indicator to that effect, step544. If the viewer selects the “no tag” option on the tag menu, step546, the program is removed from the event list and all visualindicators of the tag are removed, step 548. The system also determineswhether the program is blocked, step 550, and if so, requires the viewerto input a PIN, step 552. If the correct PIN is input, step 554, or ifthe program is not blocked, the viewer may select one of the options onthe menu, step 556, and the program with the selected option is added tothe tagged list, step 558.

[0155] Accordingly, it can be readily seen from the foregoing that theMSB allows a typical “channel surfer” to navigate through a variety ofdifferent programming content in a much more efficient manner thantypical channel surfing. This is due to the fact that the multiscreenbrowser provides a viewer with multiple reduced sized programming imageson a single screen, and with each click of the channel changing buttonthe viewer receives new sets of programming content. Additionally, themultiscreen browser allows the user to view the video for multipleprograms and listen to different audio tracks of the multiscreen images.In a two way broadcasting system, the user may even contact the head endvia telephone line 115 to request that one or more video channels besent in a multiscreen mode.

Intelligent Program Guide Tool (IPG)

[0156] As explained above, the IPG presents a program guide with programchannels and times in a grid. Viewers can use the IPG to determine whatprograms are available at any time or to plan out viewing preferences inadvance. The IPG contains particular features and elements detailedbelow that enhance the operation of the present invention.

[0157] Particular attention is directed to FIGS. 21 and 22 whichgenerally illustrate the functional operation of the intelligent programguide. Specifically, FIG. 21 is a top plan view and

[0158]FIG. 22 is an isometric view of the IPG tool window. The IPG toolwindow, generally indicated as 600, is designed as a matrix data plane602 which includes television scheduling information arranged by channelvs. time. Portions of the data plane 602 are moved smoothly relative toa television screen which is indicated in phantom as reference numeral606, while a selection cell or lens 604 remains in a stationary positionwith respect to the television screen 606. A viewer 610 (FIG. 22) seesall the information provided on television screen 606 and receives moredetailed information with regard to the data in the matrix box directlyunder lens 604.

[0159] The program guide functions such that each row of data representsthe programming provided on a specific channel at sequential times, andthe columns of information represent different programs available withina given time slot. In the preferred embodiment, the columns are brokeninto time frames of ½ hour, representing the standard length of a shorttelevision show.

[0160] Each IPG includes a finite number of channels, and scrollsthrough the channels when the user causes the scroll by pressing the upand down directional buttons 82 and 84 on remote control 68 (FIG. 6). Inthe down mode of operation, data plane 602 scrolls in the direction ofarrow B, and television screen 606 and lens 604 are stationary. Thus,lens 604 continuously highlights the next lower matrix box. For example,as data plane 602 scrolls in the direction of arrow B, lens 604 willsequentially highlight the appropriate matrix box, from 614 to 616,then, from matrix 616 to matrix box 618. Near the end of each ½ hour,the data plane shifts in the direction of arrow A, such that the nextcolumn of programming information is highlighted under lens 604.

[0161] The remote control 68 (FIG. 4) is designed to allow the user tocontrol the movement of data plane 602. If the user holds down adirectional button 82 through 88, the data plane first moves relativelyslowly, but if the user continues to hold down the button, the plane'smovement speed increases. For example, the user causes the data plane tomove to the right and left by use of the directional buttons 86 and 88of the remote control 80. The system is designed such that when a matrixbox is fully within lens 604, the matrix boxes on the top, bottom andeach side of the screen are partially displayed. This partial displayindicates to the user that there is more information located in each ofthe directions of arrows A, B, C and D. The user uses the directionalbuttons of the remote control to access the desired portion of dataplane 602.

[0162] Further in accordance with the present invention, the matrixboxes are hot-spots which are linked to the programs identified therein.Also, the IPG contains other common tool screen elements, including thetool identifier, domain identifier, pick menu featuring IPG categorychannels, clock, picture-in-graphicscell, and description box (not shownin FIG. 21; see FIG. 8). As a result, the viewer can determine theircurrent domain and can obtain more detailed information regarding thehighlighted matrix box under the lens 604. For example, information suchas the plot, rating, duration, actors, actresses, etc. may be displayedin the description box, either automatically or at a viewer's request.

[0163] Television programs which are longer than 30 minutes can behandled in two ways. In either case the movement is at the same smoothrate, with acceleration as movement over 30 minute programs. One way isillustrated in the exemplary displays shown in FIGS. 23A-23C. In thisembodiment, the title “Small Wonders,” a one-hour program, is repeatedin two consecutive matrix boxes, each box representing 30 minutes. Thelens 604 smoothly scrolls from the first occurrence of the title to thesecond. When a user presses right directional button 88 on remotecontrol 80, the system moves data plane 602 in the direction oppositearrow C, so that it appears lens 404 moves in the direction of arrow C.FIG. 23B shows lens 604 during a snapshot when it is between boxes inthe matrix grid.

[0164] Another way to handle 30 minute programs is illustrated in theexemplary displays in FIGS. 24A-24C. In this embodiment, only oneoccurrence of the title “Small Wonders” is provided in a matrix box,with the following box being empty. The title moves smoothly with thelens 604 from the left matrix box to the right matrix box as the dataplane 602 is moved in the direction opposite to arrow C. This movementbetween the boxes in a greater than 30 minute program also occurswhenever the title would otherwise scroll off the screen to the right orleft regardless of whether it is in the lens or not.

[0165] As shown by comparing various drawings in several figures, thelens size is variable. For example, a comparison between FIGS. 8 and 34shows that the size of the lens changes between tools. The lens shown inFIG. 34 is longer to accommodate the larger cell size used for a screenin the Custom tool than the lens shown in FIG. 8 having a shorter sizefor the IPG tool. Comparing FIG. 21 with FIGS. 8 and 30 shows that thelens size also varies among domains and among categories within adomain. In FIG. 21, showing one embodiment of an IPG screen in thetelevision domain, the lens is sized to fit a 30 minute matrix box. Inthe exemplary IPG screen for the VOD domain shown in FIG. 8, the lens issized to fit a movie title and next play time. Similarly, in theexemplary IPG screen for the television domain in the comedy categoryshown in FIG. 30, the lens size accommodates the program name and playtime.

[0166] As one skilled in the art will recognize, such different lenssizes may also be used within a given IPG tool screen for matrix boxesof different sizes. That is, for example, different size lenses 604 maybe used in FIGS. 23A or 24A for programs of different length, with thelens size used corresponding to the length of the program. The lens 604varies between different sizes when the movement of the data plane 602causes the lens 604 to cover programs of different lengths. For example,a 30 minute matrix box sized lens 604 would be used when a 30 minuteprogram such as “Spiderman” comes into position with the lens 604, whilea 60 minute matrix box size lens 604 would be used when a 60 minuteprogram such as “Small Wonders” comes into position with the lens 604.Part of the lens 604, such as the left -most part, remains in a fixedposition relative to the display. In this way, the lens 602 highlightsthe matrix box for the entire program as the box is moved into lens 602.Programs shorter than 30 minute duration, such as 15 minutes or less,can be similarly accommodated with correspondingly shorter lens sizes,and lens 604 changes size accordingly.

[0167] The process of generating and navigating around the IPG screen isshown in FIGS. 25-30. The head end transmits program event data for acertain limited amount of time, typically about six hours worth, to theset top box. The set top box reads and processes the data by dividing itinto two three hour segments of program data, step 650. The systemconstructs a screen grid frame graphic, overlays it on the data andpositions the grid so that the lens is on the current time, step 652.The lens is positioned on a default channel identified by the head endor set by the viewer in the custom tool. The video data linked to theprogram under the lens is retrieved, reduced, and displayed in thepicture-in-graphicscell.

[0168] To keep the lens positioned at the current day and time, thesystem regularly checks whether the lens is positioned at the currentday and time or whether it needs to be updated, step 654. If it needs tobe updated, the system acts as if the right directional button waspressed and scrolls the grid in accordance with the process describedbelow with reference to FIG. 27. This way, if a viewer moves to the IPGtool and uses it for a period of time, it is automatically updated tothe current time while watched.

[0169] The viewer navigates around the IPG using the directional keys82-88. If the viewer presses the up or down directional keys, steps 656or 658, the system scrolls the IPG grid in accordance with theprocedures described below with reference to FIG. 26. If the viewerpresses the left or right directional keys, steps 660 or 662, the systemscrolls the IPG grid left or right in accordance with FIG. 27. If theviewer presses the tag button, the program currently within the lens istagged in accordance with the process shown in FIG. 18, as describedabove. The viewer can select items in the pick menu using the pick menukeys 85, and the ensuing pick menu selection process is described belowwith reference to FIG. 28. If the viewer presses the enter or gimmebutton 92, the program currently under the lens is displayed inaccordance with the event display procedure described above withreference to FIG. 14.

[0170] Turning now to FIG. 26, if the IPG grid is to be scrolled up ordown, additional data may be required from the head end if the IPG iscurrently displaying a category of programming rather than all channels,step 664. A sample screen display in the IPG tool with a specificcategory (e.g., comedy) selected is shown in FIG. 29. In the category,the IPG displays a list of program within the category and the timesthey are available for viewing. If additional data is needed to scrollup or down within this category, step 666, the data is retrieved fromthe head end, step 668. Otherwise, for each time the up direction button82 is pressed, step 670, the entire channel segment in the grid isscrolled down one row, recycling back to the first channel in thesegment after the last channel, step 672. For a press of the downdirectional button, the same procedure is implemented by moving the gridup, step 674.

[0171] Once the grid is moved up or down, the lens is positioned over anew program on a new channel. If the channel in the lens is subscribedto by the viewer, step 676, and is not blocked, step 678, the videolinked to the program is displayed in the picture-in-graphicscell, step680. If the viewer does not subscribe to the channel, the systemdisplays an advertisement in the picture-in-graphics cell, step 682. Ifthe program or channel is blocked, a message indicating the blockage isdisplayed in the picture-in-graphicscell, step 684. In any event, thedescription data linked to the program is displayed in the descriptionbox, step 686, either automatically or at the request of the viewer.

[0172] If the IPG grid is to be scrolled right or left, the system movesthe grid in accordance with the process shown in FIG. 27. A move to theright of left involves displaying programs for additional times. Becausethe system receives and maintains a limited amount of program data, suchas six hours stored in three hour segments in some embodiments, a moveto the right or left may involve retrieving new program data. Thus, withreference to FIG. 27, if the right directional button is pressed, step700, the system checks whether new program event data is needed, step702. If the current program data segment contains sufficient data, theentire grid is scrolled to the left one column, step 704. If the currentdata segment is insufficient, the system determines whether the lowerlimit of data received from the head end has been reached, step 706. Ifthe limit is reached, an audio feedback error message is sent, step 708,and the grid is not scrolled. If additional data is available, the upperdata segment is flushed and loaded with the next event data, step 710,and the grid is scrolled left, step 704. The corresponding process isfollowed when the left button is pressed, as shown in steps 712, 714,716, and 718 in FIG. 27.

[0173] Once the grid is scrolled either left or right, a new programitem may appear in the lens. As explained above, a new program will notappear if the hour half program moves to the next or previous matrixbox. If a new program appears, the system determines whether the viewersubscribes to the channel or program, step 720, and, if not, displays anadvertisement in the picture-in-graphics cell, step 722. If the programis blocked, step 724, the system displays the blocked message in thepicture-in-graphicscell, step 726. Otherwise, the video source linked tothe program is displayed in the picture-in-graphicscell, step 728, andthe description data linked to the program is displayed in thedescription box, step 730.

[0174] The operation of the picture-in-graphics (“PIG”) feature used inthe IPG is described with reference to FIG. 28. The operation of the PIGis similar in other tools. As opposed to a picture-in-picture systemwhich requires the use of two tuners to present two images, the PIGsystem of the present invention requires only one tuner. As a result,the set top box, which in one preferred embodiment has only one tuner,can simultaneously present IPG data and video from a digital videochannel, such as the last channel watched or the channel linked to aprogram highlighted under the lens. This avoids the increased complexityand cost of providing a set top box with two tuners.

[0175] Referring to FIG. 28, the set top box receives multiple frequencybands containing multiple digital channels and IPG data from the headend, step 740. Some frequency bands may contain digital video channelswhich each include video information and IPG data. Other frequency bandsmay include digital video channels and a separate data channelcontaining a continuous stream of IPG data that is then synchronized tothe digital video channels in the band such that the separate digitalvideo channels are appropriately described by the IPG data.Alternatively, one dedicated frequency band may be provided to transmitonly IPG data, which is then stored in set top box memory andsynchronized with video when tuned to a frequency band that has video.

[0176] A processor in the set top box controls the tuner to tune to adesired frequency band, step 742, depending upon the tool or channelselected by the viewer. The tuner then passes that selected frequencyband's digital information to a demultiplexer in the set top box, step744. Under control by the processor, the demultiplexer redirects the IPGdata to a memory chip such as a RAM in the set top box and redirectsdigital video data to a MPEG chip, step 746. The processor processes theIPG data stored in the RAM to create data representing the IPG to bedisplayed, step 748. The MPEG chip receives the digital video data fromthe MPEG video stream and processes the data to output a series ofgraphic images which represent the MPEG video, step 750.

[0177] A graphics chip receives the graphic image data from the MPEGchip and data representing the IPG image from the processor. If a PIG isnot required in the IPG, step 752, the graphics chip converts the IPGdata into a form that the television receiver can present, step 754. Ifa PIG is required, the graphics chip reduces the MPEG image data, step756 and combines it with IPG image data to create a composite image,step 758, for display on the television receiver. Such graphicmanipulation and combination is known to those of skill in the art.Alternatively, if a very high speed processor is used, the demultiplexercan send all data to the RAM and the processor then processes the IPGand digital video data to form the requisite composite or single videoimage for display on the television receiver via a simple graphics chipwhich converts the data into a NTSC signal.

[0178] As shown in FIG. 8, the PIG cell 182 may be located in a cornerof the tool screen. Alternatively, the PIG screen may be overlaid onpart of the tool screen. For example, the PIG cell may be positionednear the IPG lens (such as just above and to the right of the lens) sothat the viewer can see the program title in the lens and watch the PIGvideo together, without the need to move his or her eyes substantiallyfrom lens to PIG cell and back. In that case, the graphics memory isorganized into layers of graphics planes such that the IPG is displayedin the foreground while the plane with the reduced video images is inthe background. The foreground IPG plane is then depicted in atransparent color to allow the moving video in the PIG to be viewedthrough the IPG plane.

[0179] As explained above, the IPG data may be transmitted with eachdigital video channel, as a separate digital channel in the samefrequency band with other digital video channels, or in a separatefrequency band from the digital video data. When transmitted in afrequency band with digital video data, the IPG may contain the entireset of IPG data or only a subset thereof, for example, IPG data for theprogramming available on the channel in the same frequency band or forprogramming available on all channels with the next few hours.

[0180] If all IPG data is transmitted via an IPG data channel in a firstfrequency band, such as on a “home” channel transmitted either with orwithout other digital channels in the same band, and a viewer iswatching a video channel in a second frequency band, the tuner needs totune from the second frequency band to the first frequency band todisplay the currently transmitted IPG data. In that event, the set topbox will be unable to simultaneously display the IPG and the lastchannel watched. Thus, to accomplish the goal of being able to displaythe last channel watched while using the IPG, IPG data must be availablein tunable frequency bands that may contain digital video channels sothat the set top box can obtain the IPG data needed to update andpresent the IPG.

[0181] In one embodiment, IPG data for all channels is transmitted on anIPG data channel in each tunable frequency band. This has the effect oftransmitting multiple home channels and has the disadvantage of wastinga significant amount of bandwidth. To reduce the bandwidth requirement,in another embodiment only “near-term” IPG data, that is, IPG data for afew hours around the current time, is transmitted in each tunablefrequency band while a home channel in another frequency band transmits“long-term” IPG data, that is IPG data relating to shows outside thistime frame. This allows the viewer to display an IPG with near-term IPGdata and a PIG presenting video and audio for the last channel watchedor for a program selected in the IPG. When the viewer desires to displayIPG information outside the near-term time frame, the set top box tunesto the home IPG channel and may no longer be able to display the lastchannel watched in the PIG. This drawback may be acceptable since theviewer may be more interested in viewing the IPG when viewing the IPGbeyond the near-term time frame.

[0182] In another embodiment each tunable frequency band has both anear-term and long-term channel. The set top box can then acquirelong-term IPG data, if needed, without losing the last channel watched.Moreover, the long-term IPG data need not be frequently retransmitted,while the near-term IPG data is updated frequently. This embodiment hasthe advantage of minimizing the amount of time needed to acquire updatedIPG data, thereby reducing the latency time for a viewer.

[0183] In another embodiment, the IPG data channel in each tunablefrequency band contains IPG data for only the data video channels inthat tunable frequency band and the immediately adjacent frequency band.The set top box can then display the IPG for the channels in the currentand adjacent frequency bands and a viewer moving among the IPG channelsin the current frequency band can simultaneously watch those channels.When the viewer moves to another channel in a different frequency bandwhile moving among the IPG, the set top box already has IPG informationavailable about that channel in the newly current frequency band (andpreviously adjacent) and has more time to acquire the new IPG datatransmitted in the IPG channel contained in that frequency band.

[0184] The process of navigating and selecting items from the pick menuin the IPG screen is shown in FIG. 29. The pick menu wraps from top tobottom. Thus, if the pick menu key 85 is pressed up, and the currentselection is the top item in the menu, step 770, the bottom item of themenu is selected, step 772. Otherwise, the selection moves up one item,step 774. Similarly for pressing the pick menu key 85 down, if thebottom of the menu is highlighted as the current selection, step 775,the next item is the top item, step 776, and otherwise the highlightedchanges to the next menu item below the current item, step 778. If theviewer presses the gimme key 92 to select a pick menu item, a new gridis displayed. If the selected pick menu item is a category (as opposedto all available programs or favorites), the category grid is displayed,as shown in FIG. 30, with days as columns each listing programs andtimes and the lens set on the current day's column, step 780. The listof programs is sorted by channel and time, step 782. If the all shows orfavorites items are selected, the system displays the channel/time griddescribed above, step 784.

[0185] The IPG tool screen for the VOD domain in which pay-per-viewprograms are available is similar to the category grid. An exemplaryscreen is shown in FIG. 31. As shown in FIG. 31, the grid contains theavailable events listed in a column with the next and later viewingtimes. Viewers can navigate, tag or enter one of these events insubstantially the same manner as the all channel and category grids.

[0186] The IPG is an electronic tool that has many advantages over aconventional paper or video television guide. Not only is the IPGconveniently located, but the tool is broken down into different domainsand different categorical channels within each domain to facilitateobtaining the desired information therefrom. Additionally, the tool isalways located at the same location and provides additional informationabout those programs about which the viewer desires to receive moreinformation. Furthermore, the viewer can link to the desired program byexecuting on a hotspot.

Channel Tool

[0187] The channel tool displays television programs in full screenresolution mode. A viewer may enter the channel tool by eithernavigating to it using the up/down actuation keys 75 and 76, or bypressing the gimme button on a hot-spot linked to a program, asexplained above. The channel tool contains an additional advantageousfeature, an informational banner containing information about thecurrent channel and program, which further supports the goals of thepresent invention. The viewer can display the banner in parts, and theinformation in the banner is received from the head end linked to thevideo data for the program. FIG. 33 contains an exemplary screen showingthe full extension of the informational banner. As shown in FIG. 33, thebanner contains the domain identifier 900, channel icon and number cell902, program title indicator 904, and description box 906.

[0188] The process of navigating within the channel tool and displayingthe informational banner is described with reference to FIGS. 32A-32D.When entering the channel tool or when changing channels within thetool, the program on the selected channel is displayed in full screenmode, step 950. If the informational banner was fully or partiallydisplayed before entering the new channel, step 952, the information inthe banner as displayed is updated and the banner remains on the screenfor a short period of time such as five seconds, step 954. If theinformational banner was not displayed, the tool identifier, domainidentifier 900, and channel icon 902 are displayed on the screen for ashort period such as five seconds, step 956.

[0189] The viewers navigates through channels by pressing the channel upbutton, step 958, or channel down button, step 960. If the viewer goesup a channel, step 962 (FIG. 32B), the system tunes to the next channel,step 964, which is the first channel, step 962, if the viewer wascurrently at the last channel. Similarly, if the viewer goes down achannel, step 962 (FIG. 32B), the system tunes to the prior channel,step 968, or the last channel, step 970, if the viewer was currently atthe first channel. If the next or prior channel to which the systemtunes is not blocked, step 972, the program on the channel is displayed,step 950 (returning to FIG. 32A). If the next or prior channel isblocked, the system may keep advancing channels until a non-blackedchannel is found, or may prompt the viewer for a PIN to view thechannel.

[0190] The viewer can also navigate to a specific channel by enteringthe channel number on the keypad 96 of remote control unit 68, step 976(FIG. 32A). In that event, if the channel selected is not blocked, step978 (FIG. 32C), the system tunes to the channel, step 980. If thechannel is blocked, the system prompts the viewer for the PIN, step 982,and tunes to the channel if the correct PIN is entered, step 984.Otherwise, an error message is sent, step 986, indicating that theprogram or channel may not be viewed by the current viewer.

[0191] The portions of the informational banner 898 are displayedsequentially by sequential presses of the gimme key 92, step 990 (FIG.32A). Referring now to FIG. 32D, when the gimme button is pressed, ifthe domain identifier is not already displayed, step 992, the systemdisplays it, step 994. If the domain identifier is displayed, but thechannel icon and number cell 902 is not yet displayed, step 996, thesystem displays the cell, step 998. If the program title indicator isnot yet displayed, step 1000, or the program information indicator ordescription box is not yet displayed, step 1002, the system displaysthose elements at the press of the gimme button 92, steps 1004 and 1006.If the entire informational banner is displayed at the press of thegimme button, it is removed from the screen, step 1008.

[0192] Returning to FIG. 32A, if the viewer presses the tag button whilewatching a channel, the tag menu is displayed and the program may betagged in accordance with the process described above with reference toFIGS. 18 and 19.

[0193] Although the channel tool allows viewers to watch programs in amanner similar to existing television systems, the channel tool alsocontains additional functions which enhance the objects of thenavigational system of the present invention of giving viewers greatercontrol over and more information for their viewing experience.

Information (Info) Tool

[0194] The info tool provides viewers with additional informationregarding the programming delivered by the system. The info toolcontains informational content that is valuable to the viewer who haslimited his/her choice of programming to a few events and may obtainmore information regarding the selected events. This information isoften in the form of text and graphics.

[0195] The data provided in the info tool may be harvested from theworld wide web, with additional meta tags added to the web documents tosupport the hot-spot functionality described above for selectable itemsin the document. The data is transmitted from the head end in synch withand linked to each program currently being transmitted on each channel.Thus, the data displayed when a viewer enters the info tool relates tothe channel to which the viewer was tuned just prior to entering theinfo tool, as determined from the index described above. In someembodiments, background graphics data for the info tool is stored in theset top box memory and overlaid with the data feed received from thehead end.

[0196] The info tool screen contains some of the common screen elementsdescribed above, including the tool identifier, domain identifier,clock, picture-in-graphicscell, and pick menu. Thepicture-in-graphicscell presents the video and audio data from thechannel to which the info tool screen relates. Thus, viewers can readfacts about a program or channel while watching it. The pick menupresents different documents or pages which can be retrieved relating tothe program or channel.

[0197] In the organizational structure of the navigational map of FIG.5, the info tool is located adjacent to the channel tool. For thatreason, and further because of the content sensitive switchingcapabilities of the present invention, a viewer watching a program inthe channel tool need only move one tool down to obtain more informationabout the content being watched.

Custom Tool

[0198] The custom tool provides viewers with the ability to setpreferences, edit the list of tagged programs, create and edit rings offavorite channels for each of a number of viewers in a household, andblock programs based on channel or rating. FIG. 34 illustrates anexemplary entry screen for the custom tool. As shown, the screencontains many common tool screen elements, including the tool identifier1020, domain identifier 1022, clock 1024, and pick menu 1026. The pickmenu lists the functions available in the tool, including those setforth above.

[0199] As also shown in FIG. 34, many of the functions available in thecustom tool can be performed by multiple viewers having individual PINs.The custom tool screen contains tabbed screens 1028 for differentviewers having different PINs to set their individual preferences. Asexplained below, each viewer's tagged program list, list of favorites,and list of blocked channels or programs is stored in a channel ringindividual to that viewer.

[0200] To allow editing of the tagged list, the custom tool displaysrows of the tagged program titles and frequency for the tag, e.g.,daily, weekly, etc., which is set as described above. The viewer maynavigate up and down the rows using the directional keys, and may untagspecific programs or edit the frequency by pressing the tag button andusing the tag edit menu shown in FIG. 20.

[0201] Viewers create and edit a list of favorite channels by selectingthat option in the pick menu 1026. The process of navigating around thislist and setting favorites is shown in FIGS. 35A-35B. The custom tooldisplays the entire list of channels available on the system in a grid,step 1050. For each channel in the grid, the system determines whetherthe channel is in the particular viewer's ring or list of favorites,step 1052, and marks those channels on the grid as “Favorites,” step1054. If the viewer presses the right or left directional keys 88 or 86,step 1056, the favorites grid is scrolled right or left to the screenfor the next PIN, step 1058. If the viewer presses the up or downdirectional keys 82 or 84, step 1060, the favorites grid is scrolled onechannel down or up, respectively, step 1062. As with the IPG tool, thelens or selected cell in the favorites grid remains stationary while thegrid moves up or down.

[0202] The viewer selects and deselects a channel as a favorite bypressing the gimme button 92, step 1066. At the press of the gimmebutton, if the channel is not already in the particular viewer'sfavorites ring, step 1080, it is added to the ring, step 1082, and thechannel is marked as a favorite, step 1084. If the channel is already inthe viewer's favorite's ring, the channel is removed from the ring, step1086, and the selected channel is unmarked as a favorite, step 1088.

[0203] The operation of the blocking function of the custom tool issimilar. A viewer may block programs by blocking the program directly,blocking the channel, or blocking all programs having a certain ratingor advisory code (e.g., violence, drug use, adult content, etc.). Thesystem stores the various blocking choices in rings, as furtherdescribed below. When the viewer enters the blocking function in thecustom tool, the system presents options to the viewer to selectblocking by rating/advisory code, by channel or by program. Referringnow to FIGS. 36A-36B, if the viewer selects with the gimme key 92 toblock by rating, step 1100, the viewer is prompted to input a PIN forblocking by ratings, step 1102. If the correct PIN is input, step 1104,a ratings or advisory code grid is displayed on the screen, step 1106,and the ratings or advisory codes already in the blocked ratings ringare marked as blocked, step 1108. If an incorrect PIN is input, an errormessage is presented, step 1110.

[0204] Similarly, if the viewer prefers to block by channel, step 1112,the system displays a grid of channels on the screen, step 1114, withchannels already in the channel blocking ring marked as blocked, step1116. If the viewer selects to block by program, step 1118, the systemdisplays a program guide grid on the screen, step 1120, which may besimilar to the IPG screen, with programs already in the program blockingring marked as blocked, step 1122.

[0205] Referring to FIG. 36B, the viewer navigates around the selectedgrid using the remote control unit 68 in the manner explained above. Ifthe viewer presses the gimme key 92 over any selected item in the grid,step 1140, and if the ratings/advisory code grid is displayed, step1142, and the viewer selected a rating, step 1143, the system determineswhether the selected rating is already blocked by comparing it to theblocked rating ring, step 1144. If the rating is not yet blocked, allratings equal to and higher than the selected rating are added to theblocked rating ring, step 1146. For example, if the viewer selects therating of R to be blocked, the R rating is blocked along with ratings ofNC-17, X, etc. If the selected rating is already blocked, that ratingand all ratings below it, if any, are removed from the rating ring, step1148. If the viewer selected an advisory code, the system determineswhether the advisory code is already blocked, step 1145, and if not addsthe code to a ring of blocked advisory codes, step 1147, and if blocked,removes the code from the ring, step 1149.

[0206] If the viewer is in either the channel or program grid whenpressing the gimme key 92, and the selected channel or program is notalready blocked, step 1150, the system prompts the viewer for a PIN,step 1152. If a PIN was input, step 1154, the selected channel orprogram is added to the respective ring, steps 1156, 1158, dependingupon whether the viewer is currently in the channel or program grid,step 1160. If the selected program or channel is already blocked, andsystem prompts the viewer whether to remove the block, step 1162. If theviewer wants to remove the block, step 1164, the system removes theblocked channel or program from the respective ring, steps 1166, 1168,depending upon whether the viewer is currently in the channel or programgrid, step 1170.

[0207] The custom tool thus allows viewers, and parents in particular,to block their children from watching particular programs or channels,or from watching any programs or channels having certain ratings.

Channel Rings and Policies

[0208] A channel ring is data structure in which television channelline-ups for particular categories, customized favorites, and blockedprograms or channels are defined and stored by the navigational systemof the present invention. Particularly, a channel ring shows the channelprogression when a viewer channels up from a base channel throughsubsequent channels. Channel ring data for categories can be deliveredfrom the head end using the techniques described above.

[0209] With particular reference to FIG. 37A, a channel ring withcurrent channel pointer for the zone consisting of the host tool andtelevision domain is provided. As explained above, a “zone” is generallythe intersection between a tool and a domain. The current channelpointer is indicates channel 90 (host video for “all television”). Whenchannel up is hit, the channel will move to channel 91 the host tool andnews television, and as the channels are continued to be moved up, theuser will scroll through the host tool and talk television, soap operatelevision, drama television and comedies television, sequentially. Ifchannel up is hit one more time after comedy television (channel 95),the channel ring will loop back to channel 90 for all television, andwill progress in that manner. Moving in the down direction on theup/down channel button 74 on the remote will cause motion in theopposite direction for the channel ring.

[0210] With particular attention to FIG. 37B, a channel ring withcurrent channel pointer for the MSB and television domain is depicted.The current channel is indicated at MSB for all television (channel 80).The channel ring, similar to that of FIG. 37A, includes six channels,channel 80 through channel 85 and scrolls sequentially through alltelevision, news television, talk television, soap opera television,drama television and comedies television. Likewise, after comediestelevision at channel 85, if the up channel button is depressed one moretime, the channel ring loops back to channel 80 for the MSB of “alltelevision.”

[0211] Attention is next directed to FIG. 37C which illustrates thechannel ring with current channel pointer for viewing in the channeltool and television domain. This channel ring illustrates a 75 channelsystem, and it is sequentially accessed from channel 2 through channel75. The middle section of the channel ring, channel 5 through channel73, is eliminated in FIG. 37C for simplicity. However, all 75 channelswould contain different programming.

[0212] Particular attention is next directed to FIG. 38A whichillustrates a data ring with current data pointer for the custom tooland television domain. The data ring includes four data channels forfavorites illustrated in FIG. 38A with DAD being at data channel 590,MOM being at data channel 591, SIS at data channel 592 and BRO at datachannel 593. The data channels can be scrolled through, and movedconsecutively from data 590 to data 591 to data 592 to data 593 and backto data 590.

[0213] With particular attention to FIG. 38B a data ring with currentdata pointer for the IPG and television data is illustrated. This toolprovides program data for each of the channels. For each televisionchannel in the channel or viewing tool there is programming data forthat channel in the data ring for the IPG.

[0214] Particular attention is next directed to FIG. 38C whichillustrates the data ring with current data pointer for the informationtool and television domain. The ring for this tool essentially mimicsthe channel tool, and functions similarly. For each television channelin the channel tool there is an information channel giving informationon that television show as explained above.

[0215] Attention is directed to FIGS. 39A and 39B which illustratechannel rings with portions sorted and blocked. Particularly, inconnection with FIG. 39A the channel ring with current channel pointerfor the viewing tool and television domain is illustrated. These channelrings are sorted for news and blocked for adult content. In particular,channel 3 (local access television) and channel 74 (food networktelevision) are sorted out as not containing news. Additionally, channel75 (adult channel television) is blocked out as containing adultcontent. Accordingly, in these embodiments, the ABC televisionprogramming and NBC television programming on channels 2 and 4respectively are accessed by the set top box when a viewer channel surfsthe content on the channel ring.

[0216] With particular reference to FIG. 39B, a data ring with currentdata pointer for the IPG and television domain is illustrated.Similarly, channel 3 (program data for local access television) andchannel 74 (program data for food network television) are sorted out asnot containing news. Channel 75 (program data for adult channeltelevision) is blocked out as containing adult content. Thus, the dataring would skip from channel 2 (program data for ABC television) tochannel 4 (program data for NBC television) both of which contain news,and no adult content.

[0217] Another advantageous feature of the navigational scheme of thepresent invention is context sensitivity. As introduced above withreference to FIGS. 5 and 6, context sensitivity generally refers to thefeature whereby when moving between tools a viewer remains in the samecategory of content. For example, referring to FIG. 6, when moving froma television channel in the zone defined by the channel tool andtelevision domain, e.g., channel 5 at map coordinates (3, 2, 3), if thetool is changed such that the viewer moves to map coordinates (4, 2, 3)which is the information tool, then the system will move from thetelevision channel 5 to information regarding the programming on channel5.

[0218] The system associates policies with the channel rings and theirpointers to control the operation of the tools in various domains. Thepolicies affect the context sensitivity of each tool as well as theblocking functions of the present invention. Particular attention isdirected to FIG. 40 which is an exemplary map of domains and zonesincluding channel ring pointers and pointer policies for each zone.Default policies are set for each zone. Exemplary default policiesinclude:

[0219] I. If the pointer state and the policies below would point to ablocked position, set the pointer to the default position (which isunblocked) for the channel ring;

[0220] II. If the default position is sorted-out, change the sort stateto the default and the pointer to the default position;

[0221] III. If the appropriate channel ring does not exist in thecurrent domain, use the default channel ring for that domain.

[0222] Exemplary channel ring policies include:

[0223] A. Drop any blocked items for this ring for this family member;

[0224] B. Change the ring to the last sort state and block according tofamily member;

[0225] C. Leave the ring for this zone unchanged.

[0226] Exemplary pointer policies are as follows:

[0227] 1. Leave the pointer for this zone unchanged;

[0228] 2. Change pointer to the last sort state (e.g., news);

[0229] 3. Set the pointer to the last channel watched in this domain, orthe nearest channel that is not blocked or sorted-out;

[0230] 4. Set pointer to last family member.

[0231] In the exemplary embodiment of FIG. 40, every zone includes achannel ring policy and pointer policy. For example, in the zone definedby the host tool and games domain, the policies are “C, 1”, meaning thatthe channel ring policy is to leave the ring for this zone unchanged andthe pointer policy is to leave the pointer for this zone unchanged.Alternatively, at the intersection of the channel tool and shoppingdomain, the policy is “A, 3”. Policy A states that the channel ringpolicy is to drop any blocked items for this ring for this family memberand pointer policy 3 is to set the pointer to the last channel watchedin this domain, or the nearest channel that is not blocked orsorted-out.

[0232] Taking the television domain as an example, it can be seen thatthe policies work to provide a user with an intuitive and efficientsystem. For example, the host tool has a policy “A, 2” which requiresthat any blocked items be dropped for this ring for this family memberand change pointer to the last sort state. If the last sort was news,the channel ring would start with the news host (or map location (0, 2,1) of FIG. 6). Similarly, the zone defined by the MSB in the televisiondomain also carries policy “A, 2” which means that if news was the lastsort state, this policy would require that the system go to map location(1, 2, 1) of FIG. 8 and display the news MSB.

[0233] For the IPG tool in the television domain, the policy is “B, 3”which means that the channel ring changes the ring to the last sortstate and blocks according to family member. Additionally, the pointerpolicy is to set to the last channel watched in this domain or nearestchannel that is not blocked or sorted.

[0234] Additionally, the zones for the channel and info tools havepolicies the same as the IPG, and would function the same. The customtool in the television zone has a policy “C, 4” which means that thering for this zone is unchanged and the pointer policies are to set thepointer to the last family member. Accordingly, if DAD was the lastfamily member to be in this zone, then when this zone is accessed itwould go back to DAD.

[0235] From the foregoing, it can be seen that the navigation scheme isdesigned to facilitate easy and effective navigation through amultiplicity of channels. Viewers can change among domains, among tools,and, when in a certain zone, among channels within that zone. The vieweris provided with a feeling of three dimensional movement when movingamong domains, tools, and channels. Additionally, direct access toparticular programming is provided using an enter key.

[0236] It will thus be seen that the objects set forth above, amongthose made apparent from the preceding description, are efficientlyattained and, since certain changes may be made in carrying out theabove method and in the construction set forth without departing fromthe spirit and scope of the invention, it is intended that all mattercontained in the above description and shown in the accompanyingdrawings shall be interpreted as illustrative and not in a limitingsense.

What is claimed is:
 1. A method for presenting schedule data on adisplay, the schedule data being organized in a data plane comprising aplurality of data cells identifying the schedule data, the methodcomprising: presenting a highlight cell at a fixed position on thedisplay such that all or part of at least a first data cell of theplurality of data cells is at a concurrent position with the highlightcell; and allowing the data plane to scroll on the display in at leastone direction such that all or part of the first data cell moves out ofconcurrent position with the highlight cell and a second data cell orpart thereof moves into concurrent position with the highlight cell. 2.The method of claim 1, wherein the step of allowing the data plane toscroll comprises allowing the data plane to scroll such that a second atleast partly displayed data cell or part thereof moves into concurrentposition with the highlight cell.
 3. The method of claim 1, comprisingallowing the data plane to scroll in a plurality of directions.
 4. Themethod of claim 1, wherein the data plane comprises a matrix of datacells organized in rows and columns.
 5. The method of claim 4,comprising allowing the data plane to scroll in a direction parallel tothe rows or columns.
 6. The method of claim 5, comprising allowing thedata plane to scroll in directions parallel to the rows and columns. 7.The method of claim 1, comprising allowing selection of a data cell at aconcurrent position with the highlight cell.
 8. The method of claim 7,comprising presenting additional data upon selection of a data cell. 9.The method of claim 8, wherein the data is television program scheduledata and each data cell identifies a television program, and wherein thestep of presenting additional data comprises presenting the televisionprogram identified in the selected data cell.
 10. The method of claim 1,comprising deleting one or more data cells from the display as the dataplane scrolls.
 11. The method of claim 10, comprising presentingadditional data cells on the display as the data plane scrolls.
 12. Themethod of claim 1, wherein the data represents scheduled events, whereineach data cell contains an identifier of one of the events, and whereinthe data cells are organized in scheduled time order.
 13. The method ofclaim 12, wherein the size of each data cell represents a duration ofthe event identified in the data cell.
 14. The method of claim 13,wherein the durations of the events are whole number multiples of a baseduration, wherein the highlight cell has a size substantially equivalentto the size of a data cell identifying an event having a base duration,and comprising allowing the data plane to scroll in units of the baseduration.
 15. The method of claim 14, wherein a given data cellidentifies an event having a duration longer than the base duration,comprising presenting the event identifier for the given data cell ineach part of the given data cell having a size equivalent to the baseduration, such that when the event identifier is contained within thehighlight cell whenever any part of the given data cell is at aconcurrent position with the highlight cell.
 16. The method of claim 14,wherein a given data cell identifies an event having a duration longerthan the base duration, comprising retaining the event identifier forthe given data cell within the highlight cell as the data plane scrollsfrom a concurrent position with the highlight cell of one part of thegiven data cell to another part of the given data cell.
 17. The methodof claim 12, wherein the data represents scheduled television programsbroadcast on a plurality of different channels over a period of time,and wherein the data plane is organized to present program informationas channels versus time.
 18. The method of claim 17, comprisingproviding an indication in a given data cell that a television programidentified in the given data cell is tagged for later viewing.
 19. Themethod of claim 17, comprising providing an indication that a televisionprogram identified in a given data cell is blocked from viewing.
 20. Themethod of claim 17, comprising presenting a description of a televisionprogram identified in a given data cell which is at a concurrentposition with the highlight cell.
 21. The method of claim 1, wherein thehighlight cell is capable of having at least two different sizes,comprising varying the size of the highlight cell between a first sizeand a second size.
 22. The method of claim 21, comprising presenting asecond data plane on the display, and wherein the step of varying thehighlight cell size comprises varying the highlight cell size to thesecond size when the second data plane is presented.
 23. The method ofclaim 22, wherein the second data plane contains schedule data for aselected category.
 24. The method of claim 22, wherein the highlightcell has the first size when all or part of the first data cell is at aconcurrent position with the highlight cell, and wherein the step ofvarying comprises varying the highlight cell size to the second sizewhen the second data cell or part thereof moves into concurrent positionwith the highlight cell.
 25. The method of claim 24, wherein the firsthighlight cell size corresponds to the first data cell size and thesecond highlight cell size corresponds to the second data cell size. 26.The method of claim 1, wherein the step of presenting the highlight cellcomprises presenting the highlight cell at a substantial centrallocation on the display.
 27. A system for presenting schedule data on adisplay, the schedule data being organized in a data plane comprising aplurality of data cells identifying the schedule data, the systemcomprising: means for presenting a highlight cell at a fixed position onthe display such that all or part of at least a first data cell of theplurality of data cells is at a concurrent position with the highlightcell; and means for allowing the data plane to scroll on the display inat least one direction, such that the first data cell moves out ofconcurrent position with the highlight cell and a second data cell orpart thereof moves into concurrent position with the highlight cell. 28.In a user interface for interactively navigating through information onavailable programming, a method of activating a desired user actionableindicia shown on a display comprising: depicting a cursor in a fixedposition relative to the display; manipulating on the display useractionable indicia shown with respect to the cursor such that thedesired user actionable indicia overlaps the cursor; and activating thecursor to activate the desired user actionable indicia.
 29. The methodof claim 28, wherein each user actionable indicia represents aparticular program having a duration, the user actionable indiciaarranged linearly along a timeline and respectively occupying a timerange representing duration of the respective program, and themanipulating step including moving the user actionable indicia past thecursor along the timeline.
 30. The method of claim 29, wherein each useractionable indicia contains program information indicative of itsassociated program, and wherein as a user actionable indicia is movedpast the cursor, the associated program information shifts within theuser actionable indicia so that the program information is visible andremains visible within the cursor if the cursor is within the time rangefor said user actionable indicia that is moving past the cursor.
 31. Ina user interface for interactively navigating through information onavailable programming, a method of displaying a programming guide on adisplay comprising the steps of: providing indicia representingprogramming arranged linearly along a timeline and respectivelyoccupying a time range representing duration of the respectiveprogramming, each indicia containing program information indicative ofits associated program; moving the indicia across the display along thetimeline past a reference point whereby an indicia will be progressivelyobscured from view as said indicia moves past the reference point untilthe indicia is completely obscure from view as said indicia completelymoves past the reference point; as an indicia is moved past thereference point, shifting its associated program information within saidindicia away from the reference point so as to remain visible withinsaid indicia as said indicia moves past the reference point.
 32. Themethod of claim 31, wherein the reference point is a cursor depicted ina fixed position relative to the display.
 33. The method of claim 31,wherein the reference point is a border depicted on the display.